A jinja2 renderer receiving a JSON string from commandline. Useful for generating config files in deployment enviroments
Project description
jinjaconfig
A jinja2 renderer receiving a JSON string from commandline. Useful for generating config files in deployment environments.
Installation
Install jinja config
pip install jinjaconfig
Install from sources
pip install git+https://bitbucket.org/luisfernando/jinjaconfig.git
Usage
usage: jinjaconfig [-h] --values [values] [file] A jinja2 renderer receiving arguments from commandline. Useful for generating config files in deployment enviroments positional arguments: file template to parse optional arguments: -h, --help show this help message and exit --values [values] json encoded values
Basic Use
Pass arguments from command line
jinjaconfig example.conf --values="{"celery":{"task":"mytask","path":"/home/x/Env/myenv/bin/celery"}, "num_procs":2,"user":"user","workdir":"/home/x/app/app/","logs":{"error":"/home/x/app/logs/err.log", "log":"/home/x/app/logs/log.log"}}"
Pass arguments from a file (*NIX, Bash) and output to file
jinjaconfig example.conf --values="`cat arguments.json`" > result.conf
example.conf
; ================================== ; configuration example ; ================================== [program:celery] ; Set full path to celery program if using virtualenv command={{ celery.path }} worker -A {{ celery.task }} directory={{ workdir }} user={{ user }} numprocs={{ num_procs }} stdout_logfile={{ logs.log }} stderr_logfile={{ logs.error }} autostart=true autorestart=true startsecs=10 ; Need to wait for currently executing tasks to finish at shutdown. ; Increase this if you have very long running tasks. stopwaitsecs = 600 ; When resorting to send SIGKILL to the program to terminate it ; send SIGKILL to its whole process group instead, ; taking care of its children as well. killasgroup=true ; if rabbitmq is supervised, set its priority higher ; so it starts first priority=998
arguments.json
{ "celery" : { "task" : "mytask", "path" : "/home/x/Env/myenv/bin/celery" }, "num_procs" : 2, "user" : "user", "workdir" : "/home/x/app/app/", "logs" : { "error" : "/home/x/app/logs/err.log", "log" : "/home/x/app/logs/log.log" } }
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
jinjaconfig-0.1.1.tar.gz
(3.4 kB
view details)
File details
Details for the file jinjaconfig-0.1.1.tar.gz
.
File metadata
- Download URL: jinjaconfig-0.1.1.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f9b32dedd773a02180457e94c77fe416c11001b4e7f3f1134405a0b9117ad60 |
|
MD5 | a18f2e067ce1ff43ac1bf708a4ce06b5 |
|
BLAKE2b-256 | f2b4234762b1f63c12bf0dfc1c15e526f17d92c49a5d16be3e53c2c2273c8cfc |