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
|