# Configuration Format Templates Jinja2 templates for generating configuration files in different formats. ## Templates ### `toml.j2` Generate TOML configuration files from Nickel JSON output. Usage: ```bash 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: ```bash 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: ```bash nickel export vapora.enterprise.ncl | \ jinja2 templates/configs/json.j2 > vapora.json ``` Output: Formatted JSON ## Template Format Templates iterate over the configuration object: ```jinja2 {% 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 - Parent: `../README.md` - Jinja2 docs: https://jinja.palletsprojects.com/