# Platform Templates Output templates for generating configuration files in different formats. ## Template Subdirectories ### Configs (`configs/`) Configuration file format templates: - `toml.j2` - TOML format output - `yaml.j2` - YAML format output - `json.j2` - JSON format output These templates convert Nickel configuration objects to format-specific files. ### Kubernetes (`kubernetes/`) Kubernetes manifest templates: - `deployment.yaml.j2` - Deployment manifests - `configmap.yaml.j2` - ConfigMap for configuration - `service.yaml.j2` - Service definitions - `ingress.yaml.j2` - Ingress routing ### Docker Compose (`docker-compose/`) Docker Compose templates: - `docker-compose.yaml.j2` - Complete docker-compose.yml ## Template Usage Templates use Jinja2 syntax for variable substitution: ```jinja2 # Example: toml.j2 [backend] host = "{{ backend.host }}" port = {{ backend.port }} workers = {{ backend.workers }} [database] url = "{{ database.url }}" pool_size = {{ database.pool_size }} ``` Generate output: ```bash # Render TOML template with Nickel data nickel export vapora.solo.ncl | \ jinja2 templates/configs/toml.j2 > vapora.solo.toml ``` ## Template Rendering Flow ``` Nickel Config (JSON) ↓ Jinja2 Template ↓ Output Format (TOML, YAML, JSON, K8s, etc.) ``` ## References - Parent: `../README.md` - Configs: `../configs/README.md` - Template engine: https://jinja.palletsprojects.com/