Integrations Overview
Armory integrations
Armory provides and supports the following:
- The Armory Continuous Deployment-as-a-Service GitHub Action enables triggering deployments from your GitHub repo.
- The Spinnaker plugin provides a stage in which you can configure a blue/green or canary deployment that uses CD-as-a-Service.
Generic CI systems
You can trigger deployments from any CI system.
Install the CD-as-a-Service CLI natively or run it in Docker.
Show me how
brew tap armory-io/armory brew install armory-cli
You can install the CLI with a one-line script that does the following:
- Fetches the correct Armory Version Manager binary (
avm
) for your operating system - Installs the AVM binary
- Uses the AVM to install the CLI binary (
armory
) - Adds the AVM and the CLI to the path in your bash or zsh profile
Execute the following script on the machine that has access to your Kubernetes cluster:
curl -sL go.armory.io/get-cli | bash
After installation completes, you should start a new terminal session or source your profile.
Download the AVM for your operating system and CPU architecture. You can manually download it from the repo or use the following command:
curl -LO https://github.com/armory/avm/releases/latest/download/avm-<os>-<architecture>
For example, the following command downloads the latest version for macOS (Darwin):
curl -LO https://github.com/armory/avm/releases/latest/download/avm-darwin-amd64
You can see the full list of available releases in the repo.
Give AVM execute permissions. For example (on macOS):
chmod +x avm-darwin-amd64
Confirm that
/usr/local/bin
is on yourPATH
:echo $PATH
The command returns your
PATH
, which should now include/usr/local/bin/
.Rename the AVM binary to
avm
and move it to/usr/local/bin
, which is on yourPATH
. For example (on macOS):mv avm-darwin-amd64 /usr/local/bin/avm
Run the following command to install the CLI:
avm install
The command installs the CLI and returns a directory that you need to add to your path, such as
/Users/milton/.avm/bin
.If you get an
developer cannot be identified error
when trying to run AVM, you must allow AVM to run.Show me how to allow AVM to run.
On macOS, go to System Preferences > Security & Privacy > General and click Allow Anyway.
For more information, see the macOS documentation about how to open a Mac app from an unidentified developer.
Add the directory that AVM returned when you ran
avm install
to your path.Show me how to add the directory.
You can either add the path directly to
/etc/paths
or add it to your shell profile. The following steps describe how to add it to your shell profile:Edit the resource file for your shell, such as
.bashrc
,.bash_profile
, or .zshrc
. For example:vi ~/.bashrc
In the file, find the line for the
PATH
that your resource file exports. They follow the formatexport PATH=$HOME/bin:/usr/local/bin:$PATH
.Insert the path provided by AVM (such as
/Users/brianle/.avm/bin
) before the ending$PATH
. The line should look similar to this:export PATH=$HOME/bin:/usr/local/bin::/Users/milton/.avm/bin:$PATH
Save the file.
Reload your terminal, open a new session, or
source
your terminal profile file (for example,source .bash_profile
).
Run the following command to verify that the CLI is installed:
armory
The command returns basic information about the CLI, including available commands.
For the AVM or the CLI, you can use the
-h
flag for more information about specific commands.Armory provides the CD-as-a-Service CLI as a Docker image.
docker pull armory/armory-cli
Download the latest
armory-cli
Windows executable from the repo Releases page. Install on the machine that has access to your Kubernetes cluster.- Fetches the correct Armory Version Manager binary (
Create machine to machine credentials to use in your CI system job.
Show me how
- Access the CD-as-a-Service Console.
- Go to the Configuration tab.
- If you have more than one tenant, make sure you select the desired tenant in the User context menu.
- In the left navigation menu, select Access Management > Client Credentials.
- In the upper right corner, select New Credential.
- Create a credential for your RNA. Use a descriptive name for the credential that matches what it is being used for. For example, name the credentials the same as the account name you assigned the target deployment cluster if creating a credential for an Remote Network Agent (RNA).
- Select an RBAC role from the Select Roles list. You must assign an RBAC role in order for the credential to access CD-as-a-Service.
- If the credential for is a Remote Network Agent, select Remote Network Agent.
- If you plan to use the credential to deploy from a GitHub Action or similar tool, select Deployments Full Access.
- Note the values for both Client ID and Client Secret. You need these values when configuring the RNA or any other service that you want to grant access to. Make sure to store the secret somewhere safe. You are not shown the value again.
Pass these credentials to the CLI when starting a deployment.
Show me how
armory deploy start -c <your-client-id> -s <your-client-secret> -f <your-deploy.yaml>
Feedback
Was this page helpful?
Thank you for letting us know!
Sorry to hear that. Please tell us how we can improve.
Last modified July 20, 2023: (57b22fa)