Satorix

By Satorix

build coverage

This gem is a commandline tool used to tie together SCM, CI/CD, and hosting environments.

Installation

Install Satorix from the command line:

$ gem install satorix

Usage

Run Satorix from the command line:

$ satorix

Note: Satorix is currently designed to be run via GitLab CI, not locally.

Application Preparation

To prepare your application:

Satorix Docs

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bundle exec rspec spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install.

CI/CD

Satorix is used to provide continuous integration and continuous deployment for this application.

CI is run against every push.

CD is used to automatically build and deploy the gem for the master branch.

Environment Variables

Satorix uses environment variables as an authoritative source for application configuration.

Environment variables are named with the scheme of PREFIX_BRANCH_KEY.

Application (AEEV)

Application-level environment variables are identified by the AEEV prefix (Application Exportable Environment Variable).

These environment variables are passed to the Satorix Hosting Evnvironment for consumption by the application. A likely use case would be secrets.yml

The prefix and branch are removed.

  • AEEV_PRODUCTION_SECRET_API_KEY
  • AEEV_STAGING_SECRET_API_KEY

The variable name passed to the application in the respective environment would be SECRET_API_KEY

Flynn (FLYNN)

Environment variables used to configure Flynn are identified by the FLYNN prefix.

Required

  • DOMAIN
  • KEY
  • TLSPIN

Optional

  • SCALE
  • RESOURCES

Domain (DDEV, CRT, KEY)

Domain information can be configured with environment variables identified by the DOMAIN prefix.

  • KEY_PRODUCTION_DOMAINDOM
  • CRT_PRODUCTION_DOMAINDOM
  • DDEV_PRODUCTION_DOMAINDOM
  • KEY_PRODUCTION_DEFAULT
  • CRT_PRODUCTION_DEFAULT