allow more configuration files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Graphite |
New
|
Undecided
|
Unassigned |
Bug Description
This is a feature request, not a bug.
I'd like carbon to have a directory it watches for config files, and
then loads those after the default files, overriding any existing
settings. Similar to how /etc/cron.d/ and /etc/sudoers.d/ function
for the cron and sudo service.
Other servers that follow this model for configuration: squid, apache,
snmpd.
I'd like this for two reasons: ease automated deployment, and enable
more dynamic configuration.
## automated deployement
I use puppet a lot for configuring servers. Puppet is great at writing
files, less great at editing existing files. I install carbon from
pip, and want to adjust the USER in carbon.conf. My options are either:
1. copy the carbon.conf.example into puppet, make it template, and
overwrite /opt/graphite/
1. write some futzy code to make puppet open the carbon.conf
installed by pip, edit that line, and save it
Both options are error prone when updating to a new version of
graphite. I either manually update my carbon.conf template to match
the latest, or debug futzy line editing code.
It'd be nice if I could have a third file that is basically my diffs
from the example. I'd still need to update that if there are breaking
changes, but that's required any way.
It's not that big of a pain, but it would make my life a little easier.
I'm imagining a file at `/opt/graphite/
(name doesn't matter) with content:
[cache]
USER = www-graphite
## dynamic configuration
In my environment the data frequency is very varied. It would make my
life easier if I could write out many small files in the
storage-
I'm imagining a file at `/opt/graphite/
(name doesn't matter) with content:
[storage-
pattern = ^new_metric_
retentions = 6m:1d, 36m:14d, 72m:1y
formatting