This document outlines processes and procedures for some common tasks in the charts repository.
When a chart is no longer maintained it can be deprecated. Once a chart is deprecated the expectation is the chart will see no further development. The chart and its versions will still be accessible, though tools such as monocular and Kubeapps Hub will no longer list the chart.
To deprecate a chart perform the following:
- Increment the chart
version
in theChart.yaml
file. This is required as all charts are immutable. - Add a property to the
Chart.yaml
file ofdeprecated: true
at the top level of the YAML structure. - Above the deprecated property add a comment noting that the chart is deprecated and linking to the deprecation policy.
- Remove any maintainers from the chart as the chart is no longer maintained.
- Prefix the description with "DEPRECATED"
- Update READMEs and NOTES.txt to note that the chart is deprecated
For example, A Chart.yaml
could start like:
name: foo
# The foo chart is deprecated and no longer maintained. For details deprecation,
# including how to un-deprecate a chart see the PROCESSES.md file.
deprecated: true
description: DEPRECATED foo bar baz qux...
When new maintainers are interested in bring a chart out of deprecation with new features or new support that can be an option. To un-deprecate a chart:
- Update the maintainers on the chart if any are listed. The previous maintainers should not be expected to maintain the chart unless they explicitly decide to do so.
- If there is an OWNERS file in the chart that should be updated with the new reviewers and approvers.
- The deprecated property from the
Chart.yaml
file should be removed along with any associated comment. - The chart
version
needs to be incremented accordingly. If the same functionality is kept the version can be a patch increase. Otherwise the minor or major version needs to be incremented. For more detail on changing the version number see the semver specification.
When promoting a chart from incubator to stable there are several steps that need to be carried out.
- Prior to promoting the chart verify that it does not depend on any other incubator charts. Stable charts cannot depend on incubator charts.
- The chart should be copied, not moved, from the incubator directory to the stable directory.
- The chart in the incubator directory should be deprecated with the
deprecated: true
property being set and a comment noting that the chart has been promoted to stable. The chart version will, also, need to have the patch level of theversion
incremented. - The version of the chart in the stable directory should be updated so that any documentation or other details points to stable rather than incubator. The chart
version
will, also, need to be incremented.
There are two parts to reviewing a pull request in the process to do so and the guidelines to follow. Both of those are outlined in the Review Guidelines.