Chief is an Application Container for use with Amazon Web Service Auto-Scaling Groups.
An application container provides the following:
- setup environment variables
- start a set of processes based on a
Procfile
A auto-scaling groups are great. Chief helps make them even better.
- Install Chief —
npm install -g chief
- Export an Upstart Job —
sudo chief upstart -o /etc/init/chief.conf
- Install an Application Bundle to
/home/ubuntu/bundle/master
Chief reads the environment configuration from the AWS user-data property, and passes it to your application.
Chief can run any kind of application, not just Node.js.
Chief runs Procfile application; the root of your bundle must contain a Profile
like the following:
web: node server.js
log: node logger.js
Chief is designed to work in production. Each process in your Procfile is started independently, and will be restarted if it crashes.
- application logs are kept at
/var/log/chief/<proc-key>.log
- start using upstart —
sudo start chief
- stop using upstart —
sudo stop chief
- configure upstart script via command line
- support process scaling i.e.
web=2,log=1
- add log aggregation