Skip to main content

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

  1. 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"}}"
  2. 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"
   }
}

Authors:

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

jinjaconfig-0.1.1.tar.gz (3.4 kB view details)

Uploaded Source

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

Hashes for jinjaconfig-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5f9b32dedd773a02180457e94c77fe416c11001b4e7f3f1134405a0b9117ad60
MD5 a18f2e067ce1ff43ac1bf708a4ce06b5
BLAKE2b-256 f2b4234762b1f63c12bf0dfc1c15e526f17d92c49a5d16be3e53c2c2273c8cfc

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