How does a bigger v3.0.0 release help us
While working on #10 I had some ideas regarding v3.0.0 release of the helm chart.
Basically removing all XML configuration options is a breaking change and requires a major version increment.
As I'd love to avoid to do too many breaking changes updates in a row I thought it might be useful to combine several others with this one.
- removal of all XML configuration options
- upgrading to Helm version 3
helm 3 is out for a while now and support for version 2 will formally end Nov 13, 2020. See https://helm.sh/blog/2019-10-22-helm-2150-released/#helm-2-support-plan for details.
I think it also helps us to worry less about things like is a feature supported in a specific version of helm 2 as pointed out in #35 as we then can safely assume that people are using helm version 3
- remove values which are deprecated already
- other items which you think should be done as part of a v3 release.
My hope is that this will help us going forward in keeping the chart maintainable and also making it easier for users to use the chart as they have less config flags to worry about and making it easier for contributors as the chart gets less complex.
How does it align with other plans
Documentation
In my opinion we should have more documentation and provide in examples how settings can be used and which features this chart offers. I started to label some issues with documentation. These are items which would be worth documenting so that other people don't have to ask again.
As I see it this could be done before or after a v3.0.0 release. Having more documentation always help. So it's totally fine to create PRs for it before a v3.0.0 release, but I think a lack thereof should also not block us from creating a release as outlined above. A less complex chart also makes documentation easier.
Replace deprecated terminology
@timja raised issue #11 to remove deprecated terminology and offensive terms. For me this absolutely makes sense. Most important are these changes:
- master => controller
- slave => agent
We are using them in values.yaml
and reference them in the templates. Some values are also used as selectors. So this is for sure a breaking change. I would not start doing it before removing XML configuration options as that reduces the number of occurrences, which we have to replace.
We could do that change together with v3.0.0 or as a major release afterwards. Both would be ok for me, but I think that spilling it up makes it easier for users to migrate. And we could have that release sooner.
Hopefully we are able to make the change deprecating terminology shortly afterwards and the user just has to replace master
key in values.yaml
with controller
and adjust a small set of other values.
How to put his into practice
@jenkinsci/helm-charts-developers I pushed my branch which removes the XML configuration option as https://github.com/jenkinsci/helm-charts/tree/jenkins-3-0-0 to this repository. I also made it protected and enforced PR reviews there. That way more people can contribute to that one and we can discuss PRs.
As a starting point I created a PR to migrate to helm 3 (#38)
@wmcdona89 If this procedure is fine with you I would close #34 in favor of #40.
@jenkinsci/helm-charts-developers I appreciate your feedback.