Skip to content

title: Helm Advanced Guide description: Advanced Helm concepts: Library charts, OCI, and Security


Helm Advanced Guide

Master complex deployment scenarios and enterprise-grade Helm usage.

๐Ÿ“š Library Charts

A Library Chart provides shared templates and functions but produces no release artifacts itself. It enables the DRY (Don't Repeat Yourself) principle across an organization.

In Chart.yaml:

type: library

Other charts can depend on it and use its defined templates:

{{- include "mylibrary.deployment" . }}

๐Ÿณ OCI Integration

Helm 3 supports storing charts in OCI (Open Container Initiative) registries (like Docker Hub, ECR, GAR), treating charts like container images.

Login

helm registry login -u AWS -p $(aws ecr get-login-password) <aws_account_id>.dkr.ecr.<region>.amazonaws.com

Push a Chart

helm package .
helm push mychart-0.1.0.tgz oci://<registry-url>/helm-charts

Install from OCI

helm install myrelease oci://<registry-url>/helm-charts/mychart --version 0.1.0

๐Ÿ”’ Post-Rendering

Sometimes you need to modify a chart that you don't control (e.g., adding a sidecar or label to a Bitnami chart). Post-rendering allows you to pipe the rendered manifest to an external tool before applying it.

Common tools: Kustomize.

helm install myapp . --post-renderer ./kustomize-wrapper.sh

๐Ÿ›ก๏ธ Security

Managing Secrets

Helm does not encrypt secrets by default (they are base64 encoded). For production, use external tools: * helm-secrets: Encrypts values with SOPS (pgp/kms). * External Secrets Operator: Fetches secrets from AWS Secrets Manager/Vault and injects them.

Provenance/Signing

Verify that a chart hasn't been tampered with.

helm verify mychart-0.1.0.tgz

๐Ÿšฆ Performance & Limits

Release Size Limit

Helm stores release history in Kubernetes Secrets (default limit ~1MB). Large charts with thousands of resources can hit this limit. * Workaround: Use SQL storage backend for Helm (advanced configuration).

Atomic Upgrades

Ensure upgrades don't leave the cluster in a broken state.

helm upgrade --atomic --cleanup-on-fail myapp .
This automatically rolls back changes if the upgrade process (or pods becoming ready) fails.


๏ฟฝ Quick Quiz

#

What is a Library Chart?

๐Ÿ‘‰ Take the Helm Advanced Quiz


๐Ÿ“ฌ DevopsPilot Weekly โ€” Learn DevOps, Cloud & Gen AI the simple way.
๐Ÿ‘‰ Subscribe here