Skip to main content

instantiate a template from various parameter representations.

Project description

* Synopsis

PROJECT_NAME=yoyodyne
FCGI_PORT=9000
configen.py init.conf.template > yoyodyne.conf

When automating software configuration, one ends up using adhoc templating scheme to
parametrize config files with sed and awk. configen let's you use python's powerful
string formatting to generate config files (or any text for that matter) with
params from various sources.

* Usage
* environment variables
set a bunch of env vars in shell script and invoke from it.
env foo=bar configen template

* name-values fed to stdin
echo foo=bar | configen tempalte -s
env | configen tempalte -s

* json
configen template -j params.json

* yaml
configen template -y params.yaml

* dash '-' can be passed for stdin

* Recpie

* generating from a shell script
--------- genconf.sh
PROJECT_NAME=yoyodyne
PYTHON=/usr/bin/python
PROJECT_ROOT=/home/yoyo/dyne
RUNTIME_ROOT=/home/yoyo/dyne
FCGI_PORT=9000
USER=tengu

configen.py init.conf.t
---------

* generating a config file from makefile
export the variables and run configen as follows:

---------- Makefile
export PROJECT_NAME=yoyodyne
export PYTHON=/usr/bin/python
export PROJECT_ROOT=/home/yoyo/dyne
export RUNTIME_ROOT=/home/yoyo/dyne
export FCGI_PORT=9000
USER=tengu

yoyodyne.conf:
configen.py init.conf.t | tee $@
----------

Project details


Release history Release notifications

Download files

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

Files for configen, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size configen-0.0.1.tar.gz (2.3 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 SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page