ember-cli-deploy-consul-config
An EmberCLI Deploy plugin to retrieve config from Consul and add it to
process.env for use by other plugins' config
This plugin pulls the specified keys from Consul and puts the values on
process.env
so that they can be referenced in config/deploy.js
by other
plugin's configs.
What is an ember-cli-deploy plugin?
A plugin is an addon that can be executed as a part of the ember-cli-deploy
pipeline. A plugin will implement one or more of the ember-cli-deploy's pipeline
hooks.
For more information on what plugins are and how they work, please refer to the
Plugin Documentation.
Quick Start
To get up and running quickly, do the following:
$ ember install ember-cli-deploy-consul-config
- Place the following configuration into
config/deploy.js
ENV['consul-config'] = {
host: '<consul-host>',
port: <consul-port>,
keys: {
'config/aws-access-token': 'AWS_ACCESS_TOKEN'
}
}
- Acess the config property in
config/deploy.js
ENV.s3 = {
awsAccessToken: process.env.AWS_ACCESS_TOKEN
}
$ ember deploy production
Why would I use this plugin?
You would use this plugin if you want to store configuration values in Consul's
KV store, instead of as environment variables on the machine that is running
ember-cli-deploy.
Installation
Run the following command in your terminal:
ember install ember-cli-deploy-consul-config
ember-cli-deploy hooks implemented
For detailed information on what plugin hooks are and how they work, please
refer to the Plugin Documentation.
Configuration Options
For detailed information on how configuration of plugins works, please refer to
the Plugin Documentation.
host
The Consul host.
Default: 'localhost'
port
The Consul port.
Default: 8500
secure
Whether or not to enable HTTPS.
Default: true
token
An ACL token to be included with each request to Consul.
Default: null
keys (required)
An object containing properties that map the keys on Consul to the process.env
property you'd like to access the config value with. For example, the following
config:
ENV['consul-config'] = {
keys: {
'config/aws-access-token': 'AWS_ACCESS_TOKEN'
}
};
would make the the config value available at process.env.AWS_ACCESS_TOKEN
.
Prerequisites
This plugin has no prerequisites.
Running tests
$ npm test
Made with :heart: by The Kayako Engineering Team