Today, the Cloud Native Computing Foundation (CNCF) Technical Oversight Committee (TOC) voted to accept Helm as an incubation-level hosted project.
No longer a sub-project under Kubernetes, Helm is a package manager that provides an easy way to find, share, and use software built for Kubernetes. Helm removes complexity from configuration and deployment, and enables greater developer productivity.
“Helm addresses a common user need of deploying applications to Kubernetes by making their configurations reusable,” said Brian Grant, TOC representative and project sponsor, Principal Engineer at Google, and Kubernetes SIG Architecture co-chair and Steering Committee member. “Both the Helm and Kubernetes projects have grown substantially. As Kubernetes shifts its focus to its own core in order to better manage this growth, CNCF is a great home for Helm to continue making it easier for developers and operators to streamline Kubernetes deployments.”
According to a recent Kubernetes Application Survey, 64 percent of the application developers, application operators, and ecosystem tool developers who answered the survey reported using Helm to manage apps on Kubernetes.
“As Kubernetes focuses more on stability, CNCF gives Helm a new home to ensure the community’s needs will be met,” said Chris Aniszczyk, COO of Cloud Native Computing Foundation. “Helm has scaled their community with hundreds of contributors to its core and community charts, and we look forward to growing their community even further.”
The project was started by Deis (now part of Microsoft) in 2015 and later evolved into Kubernetes Helm, the merged result of Helm Classic and the Kubernetes Deployment Manager (built by Google). The project has more than 300 contributors, and more than 800 contributors to the community charts, a successful conference based solely on Helm, and a unique culture in comparison to core Kubernetes.
“In building Helm, we set out to build a tool to serve as an onramp to Kubernetes – one that seasoned developers would not only use, but also contribute back to,” said Matt Butcher, co-creator of Helm and Principal Engineer at Microsoft. “By joining CNCF, we’ll benefit from the input and participation of the community and, conversely, Kubernetes will benefit when a community of developers provides a vast repository of ready-made charts for running workloads on Kubernetes.”
Conceptually, Helm is similar to OS-level package managers like Apt, Yum, and Homebrew in that it handles putting things in the right place for the running application – bringing all of the advantages of an OS package manager to a Kubernetes container platform. Helm’s packaging format, called charts, is a collection of files that describe a related set of Kubernetes resources. Charts are created as files laid out in a particular directory tree, which can then be packaged into versioned archives to be deployed.
Main Features:
- Find and use popular software packaged as Kubernetes charts
- Share applications as Kubernetes charts
- Create reproducible builds of your Kubernetes applications
- Intelligently manage Kubernetes manifest files
- Manage releases of Helm packages
Notable Milestones:
- 330 contributors
- 5,531 GitHub stars
- 51 releases
- 4,186 commits
- 1,935 forks
As a CNCF hosted project – alongside Incubated technologies like Prometheus, OpenTracing, Fluentd, Linkerd, gRPC, CoreDNS, containerd, rkt, CNI, Envoy, Jaeger, Notary, TUF, Vitess, and NATS – Helm is part of a neutral foundation aligned with its technical interests, as well as the larger Linux Foundation, which provide the project with governance, marketing support and community outreach.
Every CNCF project has an associated maturity level: sandbox, incubating, or graduated project. For more information on what qualifies a technology for each level, please visit https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc.
For more on Helm, please visit https://helm.sh/. You can also watch this session from KubeCon + CloudNativeCon Austin on building Helm charts, and read this blog post to see how Helm can be used with other projects.