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 details)

Uploaded Source

File details

Details for the file configen-0.0.1.tar.gz.

File metadata

  • Download URL: configen-0.0.1.tar.gz
  • Upload date:
  • Size: 2.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for configen-0.0.1.tar.gz
Algorithm Hash digest
SHA256 05c3224f9b03e3e48f01946d28929e8135df344251572afdee946b54c8533e5f
MD5 c24fc50bca5aa2099f488d0ddc22363f
BLAKE2b-256 7187472bfeb04d415c146134d812c7b726f816174285cd57f51f8067da0df821

See more details on using hashes here.

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