Satorix
By Satorix
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:
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. To initiate the deploy, first ensure you have advanced the version number appropriately. Then, create a new version tag on the master branch. The tag should follow the format of v# (If we were releasing version 1.0.3, the tag should be v1.0.3).
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