This CLI is part of the NubesGen project.
It automates a project configuration: on simple projects, running this command line should be enough to have your project configured with GitOps, and automate its deployment to Azure.
More specifically, this tool:
- scans the project to find its NubesGen configuration
- sets up the GitOps workflow
- creates the Infrastructure as Code (IaC) configuration
Tip: You can go to https://shell.azure.com and login with the Azure subscription you want to use. This will provide you with the mandatory prerequisites below (Bash, Azure CLI, and GitHub CLI).
For the CLI to work, you need to have installed and configured the following tools:
- Bash, which is installed by default on most Linux distributions and on Mac OS X. If you're using Windows, one solution is to use WSL.
- Azure CLI. To login, use
az login
. - (optional) GitHub CLI. To login, use
gh auth login
. This will automate creating the GitHub secrets for you, otherwise you will need to do it manually.
This CLI is available as a native image on major platforms (Linux, Mac OS, Windows), and as a Java archive. The Java archive will run everywhere, but requires a Java Virtual Machine.
Releases are available on GitHub at https://github.com/microsoft/nubesgen/releases and in the following examples we will use the GitHub CLI to download them.
Downloading and installing the CLI with Java
To run the Java archive, you need to have a Java Virtual Machine (version 11 or higher) installed.
- Download the latest release:
gh release download --repo microsoft/nubesgen --pattern='nubesgen-cli-*.jar'
- Run the binary:
java -jar nubesgen-*.jar -h
Downloading and installing the CLI on Linux
To run the binary on Linux, you need to:
- Download the latest release:
gh release download --repo microsoft/nubesgen --pattern='nubesgen-cli-linux'
- Make the binary executable:
chmod +x nubesgen-cli-linux
- Run the binary:
./nubesgen-cli-linux -h
Downloading and installing the CLI on a Mac OS
To run the binary on a Mac OS, you need to:
- Download the latest release:
gh release download --repo microsoft/nubesgen --pattern='nubesgen-cli-macos'
- Make the binary executable:
chmod +x nubesgen-cli-macos
- Allow Mac OS X to execute it:
xattr -d com.apple.quarantine nubesgen-cli-macos
- Run the binary:
./nubesgen-cli-macos -h
Downloading and installing the CLI on Windows
To run the binary on Windows, you need to:
- Download the latest release:
gh release download --repo microsoft/nubesgen --pattern='nubesgen-cli-windows.exe'
- Run the binary:
nubesgen-cli-windows -h
Use the -h
option with the CLI to have a complete and up-to-date help page
- Running the CLI without any arguments (e.g.
./nubesgen-cli-linux
) will run the most common sub-commands in a logical order. This will setup GitOps, scan your project to find the technologies used, and download the Infrastructure as Code configuration from the NubesGen REST server. - The
projectname
sub-command (e.g../nubesgen-cli-linux projectname
) will create a unique project name to be used inside Azure. It will take the first 8 letters of the name of your current directory, and add two random numbers. - The
scan
sub-command (e.g../nubesgen-cli-linux scan
) will scan your project to find the technologies used. It will use those technologies to generate a REST request String that can be sent to the NubesGen REST server. - The
gitops
sub-command (e.g../nubesgen-cli-linux gitops
) will setup GitOps for the current project. - The
download
sub-command (e.g../nubesgen-cli-linux download
) will download a default Infrastructure as Code configuration from the NubesGen REST server.