# Helm

> The package manager for Kubernetes: install a whole app with one command.

- Level: Advanced
- Topics: Cloud
- URL: https://tidbit.legios.com.ar/helm/
- In Spanish: [Helm](https://tidbit.legios.com.ar/es/helm/)

**Helm** is a tool that installs and upgrades applications on Kubernetes. A real app on Kubernetes needs many YAML files: Deployments, Services, ConfigMaps, Secrets, Ingress rules. Helm bundles them into a package called a **chart**, so instead of applying a dozen files by hand you run `helm install my-db bitnami/postgresql` and get a working database.

A chart is a folder of **templates** with placeholders, plus a `values.yaml` file with defaults: how many replicas, which image version, how much memory. You override what you need, for example a bigger disk in production, and Helm fills in the templates and sends the result to the cluster. Each installation is a **release** with a version history, so `helm upgrade` moves it forward and `helm rollback` returns it to an earlier version if something breaks.

Charts are shared through repositories, so popular software, from databases to monitoring stacks, usually ships an official chart. Helm is a graduated project of the Cloud Native Computing Foundation, and it is often driven by GitOps tools like Argo CD or Flux. The common complaint is that templated YAML gets hard to read; alternatives like Kustomize patch plain YAML instead.

## An analogy

Like a phone's app store for a Kubernetes cluster: pick an app, adjust a few settings, tap install, and later tap update or undo the update, without assembling every piece yourself.

## Keep in mind

- Package manager for Kubernetes; packages are called charts.
- A chart is templates plus a values.yaml file you can override.
- Each install is a release you can upgrade or roll back.
- Graduated CNCF project; most popular infrastructure software ships a chart.

## Go deeper

- [Helm documentation](https://helm.sh/docs/)
- [Charts (Helm docs)](https://helm.sh/docs/topics/charts/)
- [Helm (software) on Wikipedia](https://en.wikipedia.org/wiki/Helm_(software))

## Related terms

- [Kubernetes](https://tidbit.legios.com.ar/kubernetes/): The system that runs and babysits containers across many machines.
- [Deployment](https://tidbit.legios.com.ar/deployment/): Getting a new version of software from the team's computers to real users.
- [Database](https://tidbit.legios.com.ar/database/): An organized store of data that programs can search and update safely.
- [Cloud computing](https://tidbit.legios.com.ar/cloud-computing/): Renting computers over the internet instead of buying your own.
- [GitOps](https://tidbit.legios.com.ar/gitops/): Running infrastructure by editing files in Git and letting an agent make reality match.
- [Mobile app](https://tidbit.legios.com.ar/mobile-app/): A program made to run on a phone or tablet, usually installed from an app store.
- [Software library](https://tidbit.legios.com.ar/software-library/): Ready-made code for a common task that programmers plug into their own programs.
- [Rollback](https://tidbit.legios.com.ar/rollback/): Going back to the last version that worked when a new one causes problems.
