cmd/catalyst: implement stack of configuration files
For overriding stuff! This will allow people to better override configuration settings in their development environment and set up the framework for people to run their own boxes in production-like settings.
I'm trying to figure out the new command-line options and it's hard. Braindump:
It's confusing because there's a few operations here:
- 🗒 update-manifest: Update manifest file
- 📩 download: Download new binaries
- 🏗 build-config: Build MistController JSON config from YAML files
- 🔁 roll-mist: Trigger Mist reload for running process (SIGUSR1) (mutually exclusive with
exec) - 🍪 exec: Exec myself to become MistController (mutually exclusive with
roll-mist)
Workflow: Boot up a prod server
catalyst
- 🏗 build-config
- 🍪 exec
Workflow: Boot up a canary server w/ a custom manifest pointing at different branches
catalyst --update-manifest --download
- 🗒 update-manifest
- 📩 download
- 🏗 build-config
- 🍪 exec
Workflow: Download binaries from manifest (Dev environment init)
catalyst --download --exec=false
- 📩 download
Workflow: Build a new manifest (CI)
catalyst --update-manifest --exec=false
- 🗒 update-manifest
Workflow: Run an inplace-deploy on a prod server (Manifest from somewhere else)
catalyst --download --roll-mist
- 📩 download
- 🏗 build-config
- 🔁 roll-mist