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


Download files

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

Source Distribution

configen-0.0.1.tar.gz (2.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page