Helmfile is a declarative way to manage multiple Helm releases in a single workflow. Use Helmfile when you need to install Pangolin and/or Newt alongside other Kubernetes components or manage multiple releases together.
When to use Helmfile
Use Helmfile if you want to:
- Orchestrate multiple Helm releases in a single file (Pangolin + Newt + dependencies).
- Manage dependencies between releases (e.g., install cert-manager before Pangolin).
- Keep release definitions in version control and synchronized.
- Avoid repeated
helm install commands for complex multi-release setups.
Not using Helmfile? If you’re installing only Pangolin or only Newt without additional services, Helm quick-start is simpler.
Helm vs. Helmfile
Helmfile prerequisites
- Helm 3.10+
helmfile CLI installed: Helmfile GitHub
- Basic knowledge of Helm values and YAML
Install helmfile:
Verify:
Basic Helmfile structure
A Helmfile is a YAML file (typically named helmfile.yaml) that declares multiple releases:
Helmfile with Pangolin and Newt
1. Add Helm repositories
2. Create Helmfile
Create helmfile.yaml:
3. Create values files
Create values/pangolin.yaml:
Create values/newt.yaml:
4. Create Newt auth secret
Before applying Helmfile:
5. Deploy with Helmfile
6. Verify deployment
Advanced: Helmfile with environments
For multi-environment setups (dev, staging, prod), use Helmfile environments:
Deploy to specific environment:
Helmfile with GitOps
Using Helmfile with FluxCD
FluxCD can reconcile Helmfile declarations using the helmfile-controller. This allows Git-driven Helmfile updates:
- Commit Helmfile and values to Git
- Create HelmRelease for each release in your Helmfile
- Flux reconciles and applies changes
See Flux Guide for details.
Using Helmfile with Argo CD
While Argo CD has native Helm and Kustomize support, you can:
- Use Helmfile to render manifests:
helmfile template > manifests.yaml
- Commit manifests to Git
- Have Argo CD manage the raw YAML
Alternatively, use Helm source in Argo CD (simpler than Helmfile for single releases).
Troubleshooting Helmfile
Check syntax
Debug release dependencies
See what will be deployed
Remove releases
helmfile destroy uninstalls all releases and may delete data (e.g., databases). Use with caution in production.
Common patterns
Helmfile with local chart overrides
Helmfile with inline values
Helmfile with conditional releases
Important notes
Official support
Helmfile for Pangolin/Newt Kubernetes deployments is advanced/community-supported. The primary supported methods are:
- Helm directly
- Kustomize overlays
- GitOps tools (Argo CD, Flux)
If you encounter Helmfile-specific issues, refer to the Helmfile documentation and community.
Helm chart dependencies
The Pangolin Helm chart includes optional sub-chart dependencies (e.g., CloudNativePG operator). Helmfile does not manage these—they’re handled by Helm. Ensure chart dependencies are available when installing.
Next steps