Generate config files from 'conf.d' like directories
Project description
update-conf-py-DO-NOT-USE
IMPORTANT: This is a fork of
update-conf.py
with the goal to test AWS CodePipeline as well as the whole AWS Code* stack. This project should NOT be used in production.Also, the code will be stored into 2 repos: CodeCommit, to better test the full AWS Code* stack; GitHub, as Coveralls free plan only supports it.
Badge via custom API based on eventbridge CodeBuild events:
Badge via custom API based on proxying the default CodeBuild badge:
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 3 (3.7 or newer).
To install:
pip install update-conf-py-do-not-use
To install via AWS CodeArtifact:
CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token \
--domain test --query authorizationToken --output text)
AWS_ACCOUNT=$(aws sts get-caller-identity --query "Account" --output text)
pip install update-conf-py-do-not-use \
-i https://aws:${CODEARTIFACT_AUTH_TOKEN}@test-${AWS_ACCOUNT}.d.codeartifact.us-east-1.amazonaws.com/pypi/pypi/simple/
It's possible to clone the project in AWS CodeCommit and install it via setuptools
:
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/update-conf-py-DO-NOT-USE
cd update-conf-py-DO-NOT-USE
python setup.py install
Usage
To generate a config file, you can run something like this:
update-conf-py-do-not-use -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-do-not-use -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-do-not-use.conf
:
[snmpd]
file = /etc/snmp/snmpd.conf
dir = /etc/snmp/snmpd.d
Now, you can run:
update-conf-py-do-not-use -n snmpd
To get help:
update-conf-py-do-not-use --help
Config files
update-conf-py-do-not-use
will use the global config file (/etc/update-conf-py-do-not-use.conf
) or the user-home config file (~/.update-conf-py-do-not-use.conf
) if they exist.
You can use the the sample config file (provided within the distributed package) as a start point:
cp ${prefix}/share/update-conf-py-do-not-use/update-conf-py-do-not-use.conf /etc/update-conf-py-do-not-use.conf
It's also possible to pass a custom config file via command line args:
update-conf-py-do-not-use -c my_custom_config.conf -n snmpd
More examples
Suppose you have 2 snippets. One is /etc/snmp/snmpd.conf.d/00-main
:
syslocation Unknown
syscontact Root <root@localhost>
And the other is /etc/snmp/snmpd.conf.d/01-permissions
:
rocommunity public 192.168.0.0/24
After running update-conf-py-do-not-use -f /etc/snmp/snmpd.conf
, the generated config file will be:
# Auto-generated by update-conf-py-do-not-use
# Do NOT edit this file by hand. Your changes will be overwritten.
syslocation Unknown
syscontact Root <root@localhost>
rocommunity public 192.168.0.0/24
There are cases when it's useful to change the prefix used in the auto-generated comment. After running update-conf-py-do-not-use -f /etc/php.ini -p ';'
, the generated config will start with:
; Auto-generated by update-conf-py-do-not-use
; Do NOT edit this file by hand. Your changes will be overwritten.
It's also possible to set the prefix used in the auto-generated comment via config file. For instance, in /etc/update-conf-py-do-not-use.conf
:
[php]
file = /etc/php.ini
dir = /etc/php.d
prefix_comment = ;
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for update-conf-py-do-not-use-1.1.0.dev6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7d0676cb04c75b0d5515ece28538cabd0e820369b99c516bbe1050be51f475e |
|
MD5 | e743b936bab94dc4d2e0013cb4edf694 |
|
BLAKE2b-256 | 88219c644d65e75300285b3d224112feb42ef6f396a9a15532785d9c5c64f7f7 |
Hashes for update_conf_py_do_not_use-1.1.0.dev6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dda1690e083e18b39f9280b79d0e908af282da1aa3b8e5db914a756ce722e600 |
|
MD5 | 35d08a10d193deb4af72d83fcb841fb6 |
|
BLAKE2b-256 | 02864adb832db8660fd7e75153a2abf612d295092ae411627cde35ccb2e112a3 |