The aim of this gem is to help developers promote Heroku variables during the deployment process.
Getting Started
-
By default we assume that your Heroku pipeline has three different environments: development, staging and production.
-
Add aldagai to your Gemfile
source 'https://rubygems.org'
# More gems
gem 'aldagai', '0.1.1'
-
Install aldagai in your application by running the following command:
$ bundle exec aldagai install
The command creates an .aldagai.secret
file for each one of the development environments containing the secret key used to encrypt your variables. And finally it adds .aldagai.secret
to your .gitignore
file.
-
Manually add a new environment variable to each one of your applications in the pipeline with the name
ALDAGAI_SECRET
containing the same string that you have on the file .aldagai.secret
. You could run the following
command to achieve that, or use the Heroku web panel.
$ heroku config:set ALDAGAI_SECRET="MySuperSecretPasswordUsingForEncryptTheMessage" -a yourapp
-
Generate a new API token to intereact with Heroku API
$ heroku plugins:install heroku-cli-oauth
$ heroku authorizations:create -d "YouApp"
-
Manually add new environment variables to intereact with heroku API.
- One named
ALDAGAI_HEROKU_TOKEN
with the value that was generated by the previous step - Another one named
ALDAGAI_APP_NAME
with the name of the application in Heroku - Finally one named
ALDAGAI_PIPELINE_ENV
indicating the environment of the pipeline, e.g.: development
.
Aldagai Generators
TODO
install
$ bundle exec aldagai install
Install aldagai on your application
Aldagai Commands
A list of all commands available in aldagai with their different options
add
Normal Mode
$ bundle exec aldagai add VARIABLE_NAME --values 1 2 3
Values are the variables that are going to be promoted to the different environments (by default we
use 3 environments development, staging, and production).
Interactive Mode
$ export EDITOR=vim
$ bundle exec aldagai add VARIABLE_NAME -i
Variables values are obtained from what you type on your prefered editor.
Values are separated by a blank line.
show
$ bundle exec aldagai show VARIABLE_NAME
Shows the VARIABLE_NAME if that variable is going to be deployed (either if it's going to be removed or
modified, this is checked locally).
list
$ bundle exec aldagai list
Shows all variables that are going to be deployed (either if they are going to be removed or modified, this
is checked locally),
delete
$ bundle exec aldagai delete
Enqueue a variable to be deleted.
clear
Clear all files, creating a new start point for the next deploy.
NOTE: Variables that are already deployed and are identical to what it's setted on Heroku are not going to be promoted.