CI Templates
The ci.templates section configures custom Markdown templates for job summaries and PR comments.
Templates use Go template syntax with access to plan/apply context data.
Configuration
ci.templates.base_pathDirectory containing custom template files, relative to the repository root.
Default:
.atmos/ci/templatesci.templates.terraform.planFilename of the custom plan summary template within the base path.
Default: Built-in template
ci.templates.terraform.applyFilename of the custom apply summary template within the base path.
Default: Built-in template
ci.templates.helm.template- Filename of the custom native Helm template/render summary template within the base path.
ci.templates.helm.diff- Filename of the custom native Helm diff/plan summary template within the base path.
ci.templates.helm.apply- Filename of the custom native Helm apply/deploy summary template within the base path.
ci.templates.helm.delete- Filename of the custom native Helm delete/destroy summary template within the base path.
ci.templates.helmfile.template- Filename of the custom Helmfile template summary template within the base path.
ci.templates.helmfile.diff- Filename of the custom Helmfile diff summary template within the base path.
ci.templates.helmfile.apply- Filename of the custom Helmfile apply/sync/deploy summary template within the base path.
ci.templates.helmfile.destroy- Filename of the custom Helmfile destroy summary template within the base path.
Template Context
Templates receive a context object for the operation being summarized.
All native CI summary templates receive these common fields when available:
| Variable | Type | Description |
|---|---|---|
.Component | string | Component name |
.Stack | string | Stack name |
.Command | string | Normalized command name used for template selection |
.Success | bool | Whether the operation succeeded |
.ExitCode | int | Command exit code |
.Error | string | Error message when the command failed |
.ReproductionCommand | string | Local command to reproduce the operation |
Terraform Plan Template Variables
| Variable | Type | Description |
|---|---|---|
.Component | string | Component name |
.Stack | string | Stack name |
.Command | string | Terraform command (plan) |
.HasChanges | bool | Whether the plan has changes |
.Additions | int | Number of resources to create |
.Changes | int | Number of resources to change |
.Destructions | int | Number of resources to destroy |
.Imports | int | Number of resources to import |
.Summary | string | One-line plan summary |
.Resources | object | Resource lists by action type |
.Warnings | []string | Terraform warning messages |
Terraform Apply Template Variables
| Variable | Type | Description |
|---|---|---|
.Component | string | Component name |
.Stack | string | Stack name |
.Command | string | Terraform command (apply) |
.Success | bool | Whether apply succeeded |
.Summary | string | One-line apply summary |
.Resources | object | Resource lists by action type |
.Outputs | map | Terraform outputs |
.Warnings | []string | Terraform warning messages |
Helm Template Variables
Native Helm summary templates also receive Helm metadata when available:
| Variable | Type | Description |
|---|---|---|
.ReleaseName | string | Helm release name |
.Namespace | string | Kubernetes namespace |
.Chart | string | Chart reference |
.Target | string | Provision target, when one was selected |
.ObjectCount | int | Number of rendered or applied Kubernetes objects |
.Kinds | map | Rendered or applied Kubernetes object counts by kind |
.ManifestBytes | int | Rendered manifest size in bytes |
.Diff | string | Unified diff produced by diff/plan (rendered as a collapsible diff block; Secret values redacted) |
render uses the template template, plan uses diff, deploy uses apply, and destroy uses delete.
Helmfile Template Variables
Helmfile summary templates also receive captured command output:
| Variable | Type | Description |
|---|---|---|
.Output | string | Combined masked stdout/stderr captured from the Helmfile command |
sync and deploy use the apply template.