Helm renders versioned Kubernetes manifests from a chart, values, and templates. Helm records release metadata in the cluster, while Kubernetes reconciles only the resulting resources; Kubernetes does not understand or maintain Helm templates.
Helm Releases #
Keep default values in values.yaml, use environment-specific values files or
explicit --set values sparingly, and validate rendered output before applying
it:
helm lint charts/orders
helm template orders charts/orders -f values-production.yaml
helm upgrade --install orders charts/orders -f values-production.yaml --namespace orders --create-namespace --atomic--atomic rolls back a failed upgrade when Helm can determine failure, but it
does not make externally managed state transactional. Define hooks, CRDs,
database migrations, and rollback behavior explicitly.
Argo CD Reconciliation #
Argo CD watches a declared Git revision and reconciles the rendered desired state with cluster state. A Helm source in Argo CD supplies chart rendering; Argo CD, rather than an operator’s local Helm client, should own reconciliation for a GitOps-managed application.
Use separate repositories or directories for application source and deployment configuration where access control and release cadence differ. Restrict Argo CD projects, repositories, destinations, and service accounts. Review drift before enabling automatic pruning, because pruning deletes resources absent from the desired manifest set.
Comments
Read or comment on GitHub (sign-in required to comment)