confluentinc / cp-helm-charts

The Confluent Platform Helm charts enable you to deploy Confluent Platform services on Kubernetes for development, test, and proof of concept environments.
https://cnfl.io/getting-started-kafka-kubernetes
Apache License 2.0
788 stars 847 forks source link

Bump the chart version when making incompatible changes #213

Open oasalonen opened 5 years ago

oasalonen commented 5 years ago

Please bump the version number in Chart.yaml when making incompatible changes to the charts (I'm aware this is still developer preview material).

I've declared a dependency to the cp-helm-charts in my own chart as follows:

- name: cp-helm-charts
  repository: "@confluentinc"
  version: 0.1.0
  condition: cp-helm-charts.enabled

Our CI/CD pipeline failed when it tried to do a helm upgrade --install because the configuration for the cp-kafka-broker StatefulSet had changed in a way that was not allowed. I got the following error: UPGRADE FAILED: StatefulSet.apps "REDACTED-cp-kafka" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', and 'updateStrategy' are forbidden.

My interpretation is that this should not happen because I've declared a dependency to a certain version of cp-helm-charts, but this has no effect as long as the Charts.yaml file remains unchanged here. Or am I doing something wrong?

denisw commented 5 years ago

When installing cp-helm-charts as above, we end up with this in requirements.lock:

- name: cp-helm-charts
  repository: https://raw.githubusercontent.com/confluentinc/cp-helm-charts/master
  version: 0.1.0

So it always pulls the current master... I would expect this to point to a specific tag, commit or branch itself. Is this a problem with the confluentic Helm repo?

qshao-pivotal commented 5 years ago

When installing cp-helm-charts as above, we end up with this in requirements.lock:

- name: cp-helm-charts
  repository: https://raw.githubusercontent.com/confluentinc/cp-helm-charts/master
  version: 0.1.0

So it always pulls the current master... I would expect this to point to a specific tag, commit or branch itself. Is this a problem with the confluentic Helm repo?

+1 for this. We should have a release branch every time when we make a new release and have links in Chart.yaml point to that branch instead of master. @gAmUssA @mikkin Is there any plan to leverage Confluent's existing CI to pipeline the test and packaging? I saw some lint and test script added.