etcetera
Read config from etcd. Fill out templates. Write upstart files. Be our diode electrode generator oscillator configurator make a circuit with us.
An example template is in templates/configuration.tmpl
.
Usage
npm install -g etcetera
This will install two commandline tools.
etcetera
Configure the named application by filling out its template with data from etcd.
etcetera [-d deploydir] [-g hostgroup] [-c template] appname
Options:
--version Show version number [boolean]
-d, --deploydir full path to deploy directory
-t, --template configuration template file name
[default: "configuration.tmpl"]
-g, --group hostgroup, if there is one [default: ""]
-s, --silent do not log helpfully [boolean]
-h, --host etcd host to talk to (overrides `.renvrc`) [array]
-e, --env etcdrc environment
-u, --username etcd username
-p, --password etcd password
--help Show help [boolean]
Examples:
etcetera my-service
etcetera -d /mnt/deploys/foozle my-service
upstarter
Generate an upstart file from the provided config
upstarter [-o output] [service-name|configpath]
Options:
-o, --output where to write the upstart files [default: "/etc/init"]
-s, --silent do not log helpfully [boolean]
--help Show help [boolean]
Examples:
upstarter my-service
upstarter -o /etc/whatever /mnt/deploys/my-service/configuration.toml
If you don't have a full path in the target for upstarter
, it will look for a configuration file in /mnt/deploys/TARGET/configuration.toml
.
systemder
Generate a systemd unit file from a provided config
generate a systemd unit file from the provided config
systemder.js [-o output] [service-name|configpath]
Options:
--version Show version number [boolean]
-o, --output where to write the upstart files
[default: "/etc/systemd/system/"]
-s, --silent do not log helpfully [boolean]
-f, --filebeat write to filebeat instead of disk [boolean]
--help Show help [boolean]
Examples:
systemder my-service
systemder -o /etc/whatever /mnt/deploys/my-service/configuration.toml
.etcdrc
etcetera
will read your etcd configuration from any .etcdrc
files you have sitting around, defaulting with $HOME/.etcdrc
and falling back to $HOME/.renvrc
for backwards compatibility
LICENSE
ISC.