Native Helm Component Example
A minimal, credential-free example of a native Helm component. The chart lives in
components/helm/demo and is configured by stacks/deploy/dev.yaml.
Test
atmos test is the CI-backed smoke test for this example. It validates the
stacks, renders the local demo chart, starts a local K3s emulator, diffs and
deploys the release into it, verifies the Deployment and Service, uninstalls the
release, and tears the emulator down.
atmos test
The command runs the same local chart workflow documented below:
atmos validate stacks
atmos helm template demo -s dev
atmos emulator up kubernetes -s dev
atmos helm diff demo -s dev --identity local-k3s
atmos helm apply demo -s dev --identity local-k3s
atmos emulator exec kubernetes -s dev -- kubectl -n demo get deployment demo
atmos emulator exec kubernetes -s dev -- kubectl -n demo get service demo
atmos helm delete demo -s dev --identity local-k3s
atmos emulator down kubernetes -s dev
Render (no cluster, no credentials)
atmos helm template demo -s dev
# Render the same chart through a declarative Helm repository.
HELM_DEMO_REPO_URL=http://127.0.0.1:8080 atmos helm template demo-repo -s dev
Diff
atmos helm diff (alias plan) shows a real unified diff (via the embedded
helm-diff library — no plugin to install).
Secret values are redacted.
# Offline: capture a baseline render, change a value, then diff against the baseline.
atmos helm template demo -s dev --output=baseline.yaml
# (edit stacks/deploy/dev.yaml, e.g. set replicaCount: 3)
atmos helm diff demo -s dev --from-manifest=baseline.yaml
# Against the deployed release (requires a reachable cluster):
atmos helm diff demo -s dev
# Against a GitOps deployment repository configured under `provision`:
atmos helm diff demo -s dev --against=target
Apply
# Install/upgrade the release on the current kubecontext.
atmos helm apply demo -s dev
# Or deploy directly to the local K3s emulator used by `atmos test`.
atmos emulator up kubernetes -s dev
atmos helm apply demo -s dev --identity local-k3s
Helm Repositories
The demo-repo component shows the declarative Helm repository path:
components:
helm:
demo-repo:
repositories:
- name: local
url: !env HELM_DEMO_REPO_URL
chart: local/demo
Use atmos helm repo list to inspect chart repository associations:
atmos helm repo list demo-repo -s dev
See the atmos helm docs for the full
command and flag reference.