Project

aldagai

0.0
No commit activity in last 3 years
No release in over 3 years
Make zero downtime deployments easier allowing developers to promote environment variables
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.15
~> 10.0
~> 3.2

Runtime

~> 2.1.0
>= 0
 Project Readme

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.