Skip to main content
EXAMPLE

Native Helm

A minimal, credential-free example of a [native Helm component](https://atmos.tools/stacks/components/helm). The chart lives in `components/helm/demo` and is configured by `stacks/deploy/dev.yaml`.

Kubernetes
cloudposse / atmos

Try it out

Copy the example into a new directory and make it your own:

atmos init examples/helm
cd helm

Follow the README for prerequisites and next steps.

See it in action

RECORDED DEMO
helm
 
Recorded from this example
Real commands. Real output.
README.md2.7 KB
View on GitHub

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.

Try It

Run the local chart workflow end to end:

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

The atmos test custom command remains available as the CI smoke wrapper for this same lifecycle.

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 the CI smoke 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.