Template Variables
DAG files support Go text/template expressions, expanded at run time.
Available variables
| Variable | Example value | Description |
|---|---|---|
{ .Today } |
2026-04-05 |
Current date (YYYY-MM-DD) |
{ .Now } |
2026-04-05T08:30:00Z |
Current time (RFC3339) |
{ .Params.name } |
sales |
Parameter value (from defaults or -p overrides) |
{ .Env.KEY } |
localhost |
DAG-level environment variable |
{ .Matrix.key } |
lm |
Matrix parameter (in matrix-expanded steps) |
Usage examples
In environment variables:
env:
REPORT_DATE: "{{ .Today }}"
LOG_FILE: "logs/run_{{ .Now }}.log"In step arguments:
- id: extract
script: etl/extract.R
args: ["--dept", "{{ .Params.department }}", "--date", "{{ .Today }}"]In step fields:
- id: fit
script: models/fit.R
args: ["--algo", "{{ .Matrix.algo }}"]
matrix:
algo: [lm, glm, gam]Template syntax
daggle uses Go’s text/template package. A few useful patterns:
# Conditional default
env:
OUTPUT: '{{ if .Params.output }}{{ .Params.output }}{{ else }}results.csv{{ end }}'Template expressions are expanded before YAML parsing, so they work in any string field.