-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Roadmap
Update: The Helm team now uses github milestones to track the progress of the project.
This is the official roadmap for the Kubernetes Helm project. Minor conversation on the roadmap can be handled on Issue 694. Also roadmap items are tracked via GitHub milestones.
- Helm authentication and authorization Proposal
- Helm plugin management tracking issue
- Diff output for
helm upgrade
issue - Chart deprecation issue
The definitive source of information is the milestone
- Kubernetes 1.6 integration release
- Pluggable Tiller backends
- New template functions
This portion of the roadmap is a projection of things that may be added in the indefinite future, and which will definitely break the SemVer compatibility restraints on the 2.x model. It is here for discussion purposes, and does not reflect a finalized roadmap.
Below are the Kubernetes Helm releases that have already occurred. They are retained here for record-keeping, and they are arranged newest-to-oldest.
The current target release is: v2.0.0
From here, there may be any number of 2.0.x patch-level fixes. Patch releases follow the constraints of SemVer 2: Only bug fixes that do not alter the API, set of commands. Between client and server, any client patch release should be able to interoperate with any tiller patch release.
- Chart Testing MVP: Create a version of the
helm install --test
feature that will run tests in the cluster - Diff output:
helm upgrade --diff
can print out a diff view of the changes to be made. - Improved developer output: Commands like
helm install
will show better error messages on parse errors. - SSL certificate management: Tiller SSL certificates can be managed
- Kubernetes 1.5 support
- Plugins: Implement Git-style shell drop-throughs
- Helm documentation: Add
helm docs
command to generate Markdown and Man pages from CLI documentation - Namespaces: Allow Tiller to be installed in any namespace (not just kube-system)
- "Keep" annotation: Allow resource annotations that mark a resource as "keep", to be skipped during
helm delete
.
- Helm is stable, well tested, and documented.
- Proto definitions are finalized (no fields may be changed or deleted, no fields added until 2.1 development)
- ConfigMap storage is stable
- Tiller is stable
- Helm is stable
- The following are considered frozen until 2.1:
- The cli commands (none may be added, removed, modified; output format should be stable)
- Proto definitions
- requirements.yaml, index.yaml, Chart.yaml
- on-disk layout of charts
- provenance file format
- on-disk layout of $HELM_HOME
- Protocol for chart repositories
The focus of the Beta lifecycle is eliminating bugs, increasing stability, and improving documentation. To that end, Beta releases will occur when major improvements/fixes are made.
- Chart.yaml format is frozen (no add/remove/update of fields)
- Chart format is finalized (No fields modified between now and 2.1)
- Index format is finalized (No fields are modified or removed between now and 3.0, additions are okay)
- CLI names are finalized (No command names are modified or removed between now and 3.0, additions are okay)
- Template rendering of Go templates is finalized (Built-in variables are final, no functions may be deleted)
-
helm upgrade
andhelm rollback
become stable and predictable - Draft of end-to-end documentation is complete
These are "last call" features, that if pushed from Alpha.5 will go to 2.1
- Rollback and
helm rollback
features #1004 - Version compatibility checking between client and server #858 #761
- Support
requirements.yaml
#874 - UX improvements for Helm CLI #1196 #1198 #1199
- New
index.yaml
format #1197
2.0.0 Alpha-4:
- k8s API compatibility checks for charts #1001
- Binary release of
helm
client #999 - Helm can generate
.prov
file with signature #983 -
helm status
includes extended output #993
2.0.0 Alpha-3:
- ConfigMap-based storage of releases #656
- Rudimentary support for upgrading a release to a newer chart using
helm upgrade RELEASE
#690 - Implementation of namespaces that represents how we are going to do this for 2.0.0
- Set up official chart repository & publish contribution process #700
2.0.0 Alpha-2:
- Global variables declared in values.toml files #630
- Install a chart from a repository (
helm install -v myvalues.toml kubernetes-charts/nginx-0.1.0
) - Ability to test a chart for conformance using
helm lint
- Ability for helm to run as a package service for development using
helm serve
2.0.0 Alpha-1:
- Install Tiller into a running Kubernetes cluster with
helm init
- Locally configured environment with
helm init
- Functional chart format, along with a chart archive format
- Functional release storage format
- In-memory storage of releases within Tiller
- Support for Kubernetes-based tunneling of Helm to Tiller
- Ability to install a chart using
helm install CHART
- Ability to list releases using
helm list
- Ability to get details of a release using
helm get
,helm get manifest
, andhelm get values
- Ability to manage upstream repos with
helm repo add
,helm repo delete
,helm repo list
, andhelm update
- Ability to do a rudimentary search of package repos using
helm search
and fetch a package usinghelm fetch
- Ability to create and package charts with
helm create
andhelm package