`envdir` [1] is a common pattern for maintaining environment with a directory of key/value files.
If you use `foreman` [2] to manage application process formations, it will source a '.env' file before running.
You could call either pattern a "config file" but the important part is that its actual Unix environment variables, and there is a safe and secure place to store the variables outside of the code repository.
Then... you can take a huge leap forward when running on Heroku. Heroku has an API to set environment variables:
$ heroku config:add API_PASSWORD=abc123
That value will be present in the runtime environment for the life of your application. So you do enter them manually -- but only one time when setting up an app.
The really clever part is that 3rd party add-on providers can also set environment variables on your app with a similar API. So if your database is an add-on:
If settings are in config files, you would have to deploy new code to change settings, and you wouldn't have a way for your hosting platform to help manage settings.
If you use `foreman` [2] to manage application process formations, it will source a '.env' file before running.
You could call either pattern a "config file" but the important part is that its actual Unix environment variables, and there is a safe and secure place to store the variables outside of the code repository.
Then... you can take a huge leap forward when running on Heroku. Heroku has an API to set environment variables:
That value will be present in the runtime environment for the life of your application. So you do enter them manually -- but only one time when setting up an app.The really clever part is that 3rd party add-on providers can also set environment variables on your app with a similar API. So if your database is an add-on:
If settings are in config files, you would have to deploy new code to change settings, and you wouldn't have a way for your hosting platform to help manage settings.[1] http://cr.yp.to/daemontools/envdir.html
[2] http://ddollar.github.com/foreman/