Armory Spinnaker Admin Documentation: Installing Armory Spinnaker from the Debian Package
Feb 2, 2017 by Isaac Mosquera
Installing Armory Spinnaker from the Debian Package
We provide a Debian package that will install all the dependencies needed. To install the debian package, currently the only supported OS is Ubuntu Trusty, 14.04
apt-get update && apt-get install -y \
apt-transport-https \
ca-certificates \
curl
curl -fsSL https://yum.dockerproject.org/gpg | sudo apt-key add -
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
echo "deb https://apt.dockerproject.org/repo/ ubuntu-$(lsb_release -cs) main" \
| sudo tee -a /etc/apt/sources.list
echo "deb https://dl.bintray.com/armory/debians trusty main" \
| sudo tee -a /etc/apt/sources.list
apt-get update
apt-get install armoryspinnaker
Modify Global User-Data For All Deployments
When new server-groups are deployed Spinnaker attaches a global user-data script/file that is pre-pended to any application specific user-data configured in a server Spinnaker pipeline. By default Armory Spinnaker comes with a user-data file which is placed in /opt/spinnaker/config/udf/udf0
. This can be modified and overwritten to your specific needs.
Enabling Jenkins & Igor to talk to Spinnaker
To enable Igor, Gate to integrate with your Jenkins build you’ll need to edit your spinnaker-local.yml
file. First configure Jenkins by finding your password or API Token. You can find your token here: http://${YOUR_JENKINS_URL}.armory.io/me/configure
.
Then configure spinnaker local and add the following:
services:
igor:
enabled: true
jenkins:
enabled: true
defaultMaster:
name: Name-of-Jenkins-Service
baseUrl: http://${YOUR_JENKINS_URL}
username: ${YOUR_USERNAME}
password: ${API_TOKEN}
Manual Rollback of Armory Spinnaker
If you deploy a configuration or a change that takes down Spinnaker it’ll be impossible to rollback since Spinnaker would not be available. In order to manually to deploy back you’ll have to do the following:
- Look for the existing deployment for with the
armoryspinnaker
prefix. - Find the ASGs of Armory Spinnaker that was deployed. Typically it should be
armoryspinnaker-ha-polling-v${VER}
where${VER}
is something like023
. You should see 2 ASGS, one that has active instead and the older version should be disabled. - Edit the older ASG and remove any suspended processes that are listed
- Increase the number of instance
armoryspinnaker-ha-polling
ASG to just 1 and the other ASGarmoryspinnaker-ha
, the non-polling ASG back to atleast 2. - Reduce the latest ASGs down to 0 so that they’re no longer behind the ELB
- Check the Armory Spinnaker ELB, make sure all instances back behind both the user-facing and internal-services ELB.
- Go back to your Armory Spinnaker URL and make sure all is back to a working state.