Blog
Engineering
4
minutes

helm-freeze - manage Helm Charts and Repositories with ease

Since the beginning of Kubernetes, a lot of different tools have emerged to manage Kubernetes deployments. They all propose their mindset, workflow, and usage.
September 26, 2025
Pierre Mavro
CTO & Co-founder
Summary
Twitter icon
linkedin icon

Here is a small list of the most well-known:

Dozens of solutions exist, they all have their pros and cons, but Helm and Kustomize look to be the two favorites chosen by the community.

Kustomize has been integrated directly into kubectl binary and allows to override some part of existing Kubernetes YAML files since the 1.14 version. Helm allows creating "Charts" (a set of Kubernetes YAML template files) to ease the deployment process and easily share them with community members with Helm Hub (https://hub.helm.sh/).

The pain of managing helm charts

More than 1k Helm repositories and charts exist. Such a large amount of Helm configuration files is painful to maintain for a DevOps team. More especially when this team starts to use a couple of them. In my previous experiences, I saw many ways of managing Helm Charts. Often as git submodules, coping the whole chart content in a git repo, or having a custom script to manage them.

In any case, a tool was missing to maintain them easily. With Helm, you can manage dependencies in a given chart but not pin the chart version you want to use. Like what we can do in most of the programming languages. Here is an example in Rust with Cargo (the dependency manager):

[dependencies]
chrono = "0.4.11"
cmd_lib = "0.7.8"
git2 = "0.13.8"
walkdir = "2.3.1"
itertools = "0.9.0"
base64 = "0.12.3"
...

E.g.: here, we are using a lib called "base64" in the "0.12.3" version. Everything is explicit, and no surprises can happen.

Plus, combined with a VCS like Git, it helps to track changes over time. Which is convenient in case of non-working/not expected (delete as appropriate) changes.

Helm-freeze to the rescue

I created helm-freeze to manage Helm Charts and repositories seamlessly.

The project is Open Source for anyone who is experiencing the same problem as us. Feel free to contribute.

Helm-freeze in action

You can install helm-freeze with Brew (MacOSx), with Yay (Arch Linux), or directly download the binary on GitHub.

Then, to initialize it and create its configuration file in the repository you want your charts to be stored in, run init:

helm-freeze init

The configuration file will look like this:

charts:
- name: prometheus-operator
version: 9.3.1

repos:
- name: stable
url: https://kubernetes-charts.storage.googleapis.com

destinations:
- name: default
path: ./

In three points:

  • charts: list of charts with their associated version
  • repos: name of repos, and their URL (stable is the default one)
  • destination: the path where you want your charts to be stored

Now see a complete configuration example:

charts:
# Chart name
- name: cert-manager
# Chart version
version: v0.16.0
# The repo to use (declared below in the repos section)
repo_name: jetstack
# No destinations is declared, the default one will be used
comment: "You can add comments"
- name: fluent-bit
repo_name: lifen
version: 2.8.0
# If you temporary want to stop syncing a specific chart
no_sync: true
- name: nginx-ingress
# No repo_name is specified, stable will be used
version: 1.35.0
# Change the destination to another one (declared in destinations section)
dest: custom

repos:
# Stable is the default one
- name: stable
url: https://kubernetes-charts.storage.googleapis.com
- name: jetstack
url: https://charts.jetstack.io
- name: lifen
url: https://honestica.github.io/lifen-charts

destinations:
- name: default
path: /my/absolute/path
- name: custom
path: ./my/relative/path

The remaining command to sync locally the charts is:

helm-freeze sync

That's it. You can now commit everything to keep track of changes. To get a new version of a chart, update the version number and run again "helm-freeze sync".

charts:
- name: cert-manager
version: v0.16.1

Conclusion

Managing charts is now easy with "helm-freeze". In our day to day job, it solves several issues we encountered in the past:

  • Follow GitOps philosophy
  • Know exactly what has changed between 2 charts versions with a git diff
  • One place to manage them all
  • Works well with monorepo
  • Declarative configuration (YAML file)

See helm-freeze on Github

I hope it will help you as it helps us at Qovery

Share on :
Twitter icon
linkedin icon
Tired of fighting your Kubernetes platform?
Qovery provides a unified Kubernetes control plane for cluster provisioning, security, and deployments - giving you an enterprise-grade platform without the DIY overhead.
See it in action

Suggested articles

Kubernetes
Terraform
 minutes
Managing Kubernetes deployment YAML across multi-cloud enterprise fleets

At enterprise scale, managing provider-specific Kubernetes YAML across multiple clouds creates crippling configuration drift and operational toil. By adopting an agentic Kubernetes management platform, infrastructure teams abstract cloud-specific configurations (like ingress controllers and storage classes) into a single, declarative intent that automatically reconciles across 1,000+ clusters.

Mélanie Dallé
Senior Marketing Manager
Kubernetes
Cloud
AI
FinOps
 minutes
GPU orchestration guide: How to auto-scale Kubernetes clusters and slash AI infrastructure costs

To stop GPU costs from destroying SaaS margins, teams must transition from static to consumption-based infrastructure by utilizing Karpenter for dynamic provisioning, maximizing hardware density with NVIDIA MIG, and leveraging Qovery to tie scaling directly to business metrics.

Mélanie Dallé
Senior Marketing Manager
Product
AI
Deployment
 minutes
Stop Guessing, Start Shipping. AI-Powered Deployment Troubleshooting

AI is helping developers write more code, faster than ever. But writing code is only half the story. What happens after? Building, deploying, debugging, scaling. That's where teams still lose hours.We're building Qovery for this era. Not just to deploy your code, but to make everything that comes after writing it just as fast.

Alessandro Carrano
Head of Product
AI
Developer Experience
Kubernetes
 minutes
MCP Server is the future of your team's incident’s response

Learn how to use the Model Context Protocol (MCP) to transform static runbooks into intelligent, real-time investigation tools for Kubernetes and cert-manager.

Romain Gérard
Staff Software Engineer
Compliance
Developer Experience
 minutes
Beyond the spreadsheet: Using GitOps to generate DORA-compliant audit trails.

By adopting GitOps and utilizing management platforms like Qovery, fintech teams can automatically generate DORA-compliant audit trails, transforming regulatory compliance from a manual, time-consuming chore into an automated, native byproduct of their infrastructure.

Mélanie Dallé
Senior Marketing Manager
Kubernetes
7
 minutes
Day 2 operations: an executive guide to Kubernetes operations and scale

Kubernetes success is determined by Day 2 execution, not Day 1 deployment. While migration is a bounded project, maintenance is an infinite loop that often consumes 40% of senior engineering capacity. To protect margins and velocity, enterprises must transition from manual toil to agentic automation that handles scaling, security, and cost.

Mélanie Dallé
Senior Marketing Manager
Kubernetes
8
 minutes
The 2026 guide to Kubernetes management: master day-2 ops with agentic control

Master Kubernetes management in 2026. Discover how Agentic Automation resolves Day-2 Ops, eliminates configuration drift, and cuts cloud spend on vanilla EKS/GKE/AKS.

Mélanie Dallé
Senior Marketing Manager
DevOps
Kubernetes
6
 minutes
Day-0, day-1, and day-2 Kubernetes: defining the phases of fleet management

Day-0 is planning, Day-1 is deployment, and Day-2 is the infinite lifecycle of maintenance. While Day-0/1 are foundational, Day-2 is where enterprise operational debt accumulates. At fleet scale (1,000+ clusters), managing these differences manually is impossible, requiring agentic automation to maintain stability and eliminate toil.

Morgan Perry
Co-founder

It’s time to change
the way you manage K8s

Turn Kubernetes into your strategic advantage with Qovery, automating the heavy lifting while you stay in control.