Skip to content
/ aldagai Public

Make zero downtime deployments easier allowing developers to promote environment variables

Notifications You must be signed in to change notification settings

elpic/aldagai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Make zero downtime deployments easier allowing developers to promote environment variables

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published