Skip to main content
README.md2.6 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.

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.