Skip to main content

output envdir as JSON or YAML

Project description

cfgdir

Read envdir style configuration directory and output as JSON or YAML

https://github.com/rstms/cfgdir

Inspired by djb's excellent envdir, a component of daemontools

Leverage the powerful simplicity of the filesystem as your configuration database, and the freedom to fluidly manipulate configuration data from your shell.

Unlike envdir's mechanism of running another program with the configuration in environment variables, this program outputs a stream in JSON or YAML format. This output can be captured in a file or piped into stdin of another program.

Interface

cfgdir [OPTIONS] d [INPUT] [OUTPUT]

optionally reads a JSON or YAML object from INPUT (use - to read stdin) , then reads the directory named d, outputting a JSON or YAML object modified according to files in d.

The format of d is as follows: (adapted from envdir's documentation)

If d contains a file named s whose first line is t, cfgdir's output will contain an element named s with string value t. The name s must not contain =. Spaces and tabs at the end of t are removed. Nulls in t are changed to newlines.
If the file s is completely empty (0 bytes long) cfgdir will remove the element named s if it exists.

Arguments:

Argument default Description
DIRECTORY optional /dev/null Directory containing configuration data files
INPUT optional /dev/null Input filename or - for stdin
OUPUT optional stdout Output Filename or - for stdout

Options:

  -c, --compact  minimize output
  -s, --sort     sort output
  -j, --json     JSON format
  -y, --yaml     YAML format
  -r, --recurse  process subdirectories
  -o, --overlay  overlay JSON/YAML formatted string onto output
  --help         Show this message and exit.

Project details


Download files

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

Files for cfgdir, version 1.0.6
Filename, size File type Python version Upload date Hashes
Filename, size cfgdir-1.0.6-py2.py3-none-any.whl (6.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size cfgdir-1.0.6.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page