Skip to main content

Generate config files from 'conf.d' like directories

Project description

Travis CI - Build Status Coveralls - Coverage Percentage Pypi - Downloads Pypi - Version License

Generate config files from conf.d like directories.

Split your config file into smaller files, called snippets, in a conf.d like directory. The generated config file will be the concatenation of all snippets, with snippets ordered by the lexical order of their names.

Files ending with .bak, .old and other similar terminations will be ignored.

This project was based on the update-conf.d project.

Install

This project works in Python 2 (2.6 or newer) and Python 3 (3.3 or newer).

To install:

pip install update-conf.py

It’s possible to clone the project in Github and install it via setuptools:

git clone git@github.com:rarylson/update-conf.py.git
cd update-conf.py
python setup.py install

Usage

To generate a config file, you can run something like this:

update-conf.py -f /etc/snmp/snmpd.conf

The example above will merge the snippets in the directory /etc/snmp/snmpd.conf.d into the file /etc/snmp/snmpd.conf.

If the directory containing the snippets uses a diferent name pattern, you can pass its name as an argument:

update-conf.py -f /etc/snmp/snmpd.conf -d /etc/snmp/snmpd.d

It’s also possible to define frequently used options in a config file. For example, in /etc/update-conf.py.conf:

[snmpd]
file = /etc/snmp/snmpd.conf
dir = /etc/snmp/snmpd.d

Now, you can run:

update-conf.py -n snmpd

To get help:

update-conf.py --help

Config files

update-conf.py will use the global config file (/etc/update-conf.py.conf) or the user-home config file (~/.update-conf.py.conf) if they exist.

When installing via the source distribution, the global config file (/etc/update-conf.py.conf) will be automatically created.

However, when installing via the binary wheel distribution, the config file installation will be skipped. But you can use the sample config file as a start point:

cp {prefix}/share/update-conf.py/update-conf.py.conf /etc/update-conf.py.conf

It’s also possible to pass a custom config file via command line args:

update-conf.py -c my_custom_config.conf -n snmpd

License

This software is released under the Revised BSD License.

Changelog

Check the CHANGELOG page.

Contributing

If you want to contribute with this project, check the CONTRIBUTING page.

TODO

  • Publish this software in a Ubuntu PPA;
    • Remove dependencies from argparse e configparser before pubishing in the PPA;
    • Ubuntu 12.04 and Ubuntu 14.04.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for update-conf.py, version 0.4.5
Filename, size File type Python version Upload date Hashes
Filename, size update_conf.py-0.4.5-py2.py3-none-any.whl (9.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size update-conf.py-0.4.5.tar.gz (19.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page