All Projects → manekinekko → Hexa

manekinekko / Hexa

Licence: mit
Hexa: The ultimate companion for Azure. Setup and deploy in seconds

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Hexa

Azure
Azure-related repository
Stars: ✭ 78 (+39.29%)
Mutual labels:  serverless, cloud, azure
Azure.data.wrappers
Azure Storage Simplified
Stars: ✭ 34 (-39.29%)
Mutual labels:  cloud, azure, storage
Pulumi
Pulumi - Developer-First Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀
Stars: ✭ 10,887 (+19341.07%)
Mutual labels:  serverless, cloud, azure
Dasync
Every developer deserves the right of creating microservices without using any framework 🤍
Stars: ✭ 154 (+175%)
Mutual labels:  serverless, cloud, azure
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (+262.5%)
Mutual labels:  serverless, cloud, database
Cloud Custodian
Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources
Stars: ✭ 3,926 (+6910.71%)
Mutual labels:  serverless, cloud, azure
Azurlshortener
An simple and easy Url Shortener
Stars: ✭ 247 (+341.07%)
Mutual labels:  serverless, azure, storage
Midway
🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
Stars: ✭ 5,080 (+8971.43%)
Mutual labels:  serverless, cloud, azure
Azure Vm Agents Plugin
This repo is for azure vm agents plugin for jenkins. Azure devops CICD is the team which owns it for now
Stars: ✭ 31 (-44.64%)
Mutual labels:  cloud, azure
Vscode Apimanagement
VS Code extension for Azure API Management.
Stars: ✭ 32 (-42.86%)
Mutual labels:  serverless, azure
Examples
Infrastructure, containers, and serverless apps to AWS, Azure, GCP, and Kubernetes... all deployed with Pulumi
Stars: ✭ 1,085 (+1837.5%)
Mutual labels:  serverless, azure
Siodb
The simplicity of REST and the power of SQL combined in a database that automatized security and performance. Forget the database, develop faster and safer!
Stars: ✭ 31 (-44.64%)
Mutual labels:  serverless, database
Silex
Silex is a static website builder in the cloud.
Stars: ✭ 958 (+1610.71%)
Mutual labels:  cloud, hosting
Awesome Scalability Toolbox
My opinionated list of products and tools used for high-scalability projects
Stars: ✭ 34 (-39.29%)
Mutual labels:  cloud, storage
Vercel
Develop. Preview. Ship.
Stars: ✭ 8,015 (+14212.5%)
Mutual labels:  cloud, hosting
Altium Library
Open source Altium Database Library with over 147,000 high quality components and full 3d models.
Stars: ✭ 875 (+1462.5%)
Mutual labels:  azure, database
Megasync
Easy automated syncing between your computers and your MEGA Cloud Drive
Stars: ✭ 975 (+1641.07%)
Mutual labels:  cloud, storage
Drive
☁️ A distributed cloud based lazy drive to files integrated with Dropbox, Google Drive.
Stars: ✭ 36 (-35.71%)
Mutual labels:  cloud, storage
Pci Paas Webapp Ase Sqldb Appgateway Keyvault Oms
Azure PCI PaaS Reference Architecture
Stars: ✭ 36 (-35.71%)
Mutual labels:  cloud, azure
Chalice
Python Serverless Microframework for AWS
Stars: ✭ 8,513 (+15101.79%)
Mutual labels:  serverless, cloud

Welcome to 𝖧𝖤𝖷△

Hexa – The ultimate companion for the Azure CLI. Setup and deploy in seconds.

GitHub

npm npm (scoped with tag)
GitHub contributors GitHub last commit GitHub commit activity
Twitter Follow

What is Hexa?

Hexa is a open source command line tool to easily setup and deploy your applications to Microsoft Azure. It takes full advantage of the Azure CLI, the Azure Function Core Tools CLI and the NPM CLI.

Hexa allows you to seamlessly configure, setup and deploy to different Azure services such as Resource Groups, Storage accounts, Hosting, Azure Functions and Databases (CosmosDB and Table Storage).

Hexa is driven by community contributions. Please send us your Pull Requests and feedback!

Get started

Required tools

In order to use Hexa, you will need to install both the Azure CLI and Functions Core Tools:

Once these tools are installed and available on your system, you are ready to install and use the Hexa CLI.

Installing the Hexa CLI

You can install the Hexa CLI using npm or yarn:

$ npm install --global @manekinekko/hexa

To make sure the Hexa CLI has been installed correctly, you can execute the hexa command from anywhere in your system and you should see the default usage output:

Usage: hexa <command>

Options:
  -V, --version          output the version number
  login                  connect to your Azure
  init                   initialize a new workspace
  deploy                 deploy to Azure
  -c, --create           enable manual resource creation (default: false)
  -d, --debug            enable debug mode (default: false)
  -j, --just <services>  setup or deploy only the selected services (e.g. --just functions,hosting) (default: false)
  -l, --login            force login (default: false)
  -m, --manual           enter Manual mode (default: false)
  -r, --reset            reset (delete) local configuration (default: false)
  -s, --sas              use SAS token (only: storage and database) (default: false)
  -t, --token            generate a Storage token into a .env file (default: false)
  -u, --use <builder>    use a specific build system (e.g. tsc,bazel) (default: "tsc")
  -v, --verbose          enable verbose mode (default: false)
  -y, --yes              answer yes to all confirmations (default: false)
  --dry-run              do not execute real commands. (default: false)
  --yolo                 enable all modes and all services (default: false)
  -h, --help             output usage information

Usage

In order to use the Hexa CLI to configure and set up your Azure services, run the hexa init command inside one of your projects that you want to set up for Azure. The Hexa CLI will guide you through the setup process.

For example, if you want to set up your project Foo that lives inside the ./foo folder, here are the steps:

  1. $ cd foo
  2. $ hexa init

Once your project is setup and configured, you will see a newly created file called hexa.json. This file contains the configuration for your project Foo.

Whenever your project Foo is ready to be deployed to Azure, you can use the hexa deploy command inside the ./foo folder and let Hexa take care of the deploy process.

Examples

  • $ hexa init --just=hosting,functions: Hexa will setup and configure just the requested services. Current supported services are hosting, functions and database. Please note that a Resource Group and a Storage Accout will automatically be setup as these are required by the other services.

  • $ hexa init --token: Hexa will also create a .env file which contains the Connection String token for your storage account. Hexa does not use this token! It is meant for you to use.

  • $ hexa init --token --sas: Hexa will generate a SAS token for your storage account (instead of a Connection String).

  • $ hexa init --manual: Hexa will enter Manual Mode and will ask you to make a choice for each step.

  • $ hexa init --manual --create: In manual mode, by default, Hexa would only let you choose a resource from your existing ones. The --create flag allows you to manually create a new resource/service at your convenience.

  • $ hexa init --yolo: Hexa will enter Auto Mode and will setup all supported services (except if you use the --just flag) without asking you any question.

Running on CI

Notes

If you want to run Hexa on a Continuous Integration enviroment, you will need to make sure that the required dependencies (see above) are installed.

Set up Hexa for CI

  1. On your local machine, make sure you are logged in to your Azure account from the CLI by running hexa login.
  2. Then run hexa ci to create a Service Principal account. You should have a similar output:
{
  appId: 'xx4362xx-aaxx-40xx-8bxx-xx6ea0c351xx',
  displayName: 'appname',
  name: 'http://appname',
  password: 'xxce72xx-1axx-44xx-81xx-35xxb15xxa1e',
  tenant: 'xxf988xx-86xx-41xx-91xx-2d7cd011dbxx'
}
  1. Configure your CI with the following environment variables (secrets):
  • AZURE_SERVICE_PRINCIPAL_ID: the appId from the service principal config.
  • AZURE_SERVICE_PRINCIPAL_PASSWORD: the password from the service principal config.
  • AZURE_SERVICE_PRINCIPAL_TENANT: The tenant from the service principal config.
  1. On your CI environment, before deploying with Hexa, run hexa login. Hexa will attempt to login to your Azure account using these service principal credentials. Hexa will automatically detect and use the environment variables if they are set.

  2. Then, simply run the usual hexa deploy command.

Enjoy!

Want to help? contributions welcome

Want to file a bug, contribute some code, or improve the documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].