atmos helmfile template
Render all Helm releases defined in a Helmfile component to Kubernetes
manifests by running helmfile template with the generated values file. The
rendered manifests are written to stdout by default, or delivered to a
provision target (such as a Git deployment repository monitored by ArgoCD) when
--target is set. This enables a GitOps workflow where CI renders manifests
from Helmfile components and publishes them to a deployment repository — the
producer side of GitOps.
Usage
atmos helmfile template <component> --stack <stack> [options]
Render to stdout:
atmos helmfile template echo-server -s tenant1-ue2-dev
Deliver the rendered manifests to a provision target (e.g. a Git/ArgoCD repo):
atmos helmfile template echo-server -s tenant1-ue2-dev --target deployment-repo
Configure the target in the component's provision section:
components:
helmfile:
echo-server:
provision:
default: cluster
targets:
cluster:
kind: kubernetes
deployment-repo:
kind: git
repository: deployments
path: "clusters/{{ .vars.stage }}/echo-server"
Flags
--stack,-s(required)- Atmos stack.
--target(optional)- Provision target to deliver the rendered manifests to (e.g. a Git deployment repository). When omitted (or when the selected target is the cluster), the manifests are written to stdout.
Any additional flags are passed through to helmfile template.
This command implements the request in
cloudposse/atmos#2069.
Helmfile remains useful when you need its advanced orchestration features. For
most new chart deployments, native atmos helm
provides the common workflow directly in Atmos.