Jesús Pérez a395bd972f
Some checks failed
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
mdBook Build & Deploy / Build mdBook (push) Has been cancelled
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
mdBook Build & Deploy / Documentation Quality Check (push) Has been cancelled
mdBook Build & Deploy / Deploy to GitHub Pages (push) Has been cancelled
mdBook Build & Deploy / Notification (push) Has been cancelled
chore: add cd/ci ops
2026-01-12 03:36:55 +00:00
..
2026-01-12 03:36:55 +00:00
2026-01-12 03:36:55 +00:00
2026-01-12 03:36:55 +00:00

Configuration Format Templates

Jinja2 templates for generating configuration files in different formats.

Templates

toml.j2

Generate TOML configuration files from Nickel JSON output.

Usage:

nickel export vapora.solo.ncl | \
  jinja2 templates/configs/toml.j2 > vapora.toml

Output: TOML format compatible with services

yaml.j2

Generate YAML configuration files from Nickel JSON output.

Usage:

nickel export vapora.multiuser.ncl | \
  jinja2 templates/configs/yaml.j2 > vapora.yaml

Output: YAML format for Kubernetes, Ansible, etc.

json.j2

Pass-through JSON formatting with pretty-printing.

Usage:

nickel export vapora.enterprise.ncl | \
  jinja2 templates/configs/json.j2 > vapora.json

Output: Formatted JSON

Template Format

Templates iterate over the configuration object:

{% for section, values in config.items() %}
[{{ section }}]
{% for key, value in values.items() %}
{{ key }} = {{ format_value(value) }}
{% endfor %}
{% endfor %}

Workflow

Nickel Config File (.ncl)
    ↓
Export to JSON (nickel export)
    ↓
Render Template (jinja2)
    ↓
Output File (TOML, YAML, JSON, etc.)

References