replica-omnisciente/docs/guides/cli/helm.md

2.6 KiB

helm (Helm CLI)

What it is

Helm is the package manager for Kubernetes: charts bundle manifests, and helm install/upgrade/rollback manages releases against the cluster your kubeconfig points at.

Install

Official install script (latest stable, detects arch):

curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Or the static binary: download helm-<version>-linux-amd64.tar.gz (or -linux-arm64) from the releases page and move linux-amd64/helm to /usr/local/bin. Pin a version from the releases page when you need identical clients across machines.

Authenticate

No separate auth — Helm reuses your kubeconfig (~/.kube/config, see kubectl.md). Chart repos with private registries authenticate via:

helm repo add <name> https://charts.example.com --username <u> --password <p>

Store repo credentials in Vaultwarden (https://vault.portugalfuturista.org).

Configure for this environment

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm search repo bitnami | head

Point it at the self-hosted k3s cluster by setting KUBECONFIG (see kubectl.md). Values overrides for LAN endpoints (MinIO etc.) go in a local values-lab.yaml kept out of git.

Self-hosted equivalent

Helm itself is infrastructure-neutral — the self-hosted part is the cluster it targets (k3s on Proxmox, see kubectl.md) and, if you outgrow public chart repos, a self-hosted ChartMuseum (which can store charts on MinIO at http://192.168.0.40:9000). OCI registries (e.g. helm push ... oci://...) are another option once a registry is deployed.

Aurélio integration

The cli-devops skill drives helm for release management alongside kubectl. Connector registry id: kubernetes (same cluster connector).

Verify

helm version
# version.BuildInfo{Version:"v3.x.y", ...}
helm list --all-namespaces        # against a configured cluster
# NAME  NAMESPACE  REVISION  UPDATED  STATUS  CHART  APP VERSION

Troubleshooting

  • Error: Kubernetes cluster unreachable — kubeconfig/context problem; fix with kubectl first, Helm inherits it.
  • Chart not found after helm repo add — run helm repo update.
  • Upgrade fails with "another operation in progress" — a release is stuck pending-*; helm history <rel> then helm rollback <rel>.
  • CRDs missing — some charts (e.g. cert-manager) need CRDs installed first (helm install --set crds.enabled=true or a separate CRD step); read the chart's README.