Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Establish CRD update process #581

Closed
2 tasks done
z0rc opened this issue Mar 30, 2022 · 5 comments · Fixed by #649
Closed
2 tasks done

Establish CRD update process #581

z0rc opened this issue Mar 30, 2022 · 5 comments · Fixed by #649
Labels
kind/proposal a proposal that needs to be discussed.

Comments

@z0rc
Copy link

z0rc commented Mar 30, 2022

Welcome!

  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?

Followup to #577 and #558. Any update to CRD should be visible and properly announced. This is due to how helm handles CRD lifecycle:

  • Helm installs CRDs, if they are missing on chart install or upgrade
  • Helm doesn't upgrade CRDs, if they are already present on chart install or upgrade
  • Helm doesn't uninstall CRDs on chart uninstall

See https://github.com/helm/community/blob/main/hips/hip-0011.md for rationale.

Given all this, any changes to CRDs should be a major version bump, and there should be instructions how end user can update CRDs on existing installations, usually using kubectl. See how kube-prometheus-stack chart handles this. https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#upgrading-an-existing-release-to-a-new-major-version

@kevinpollet kevinpollet added kind/proposal a proposal that needs to be discussed. and removed status/0-needs-triage labels Mar 30, 2022
@z0rc
Copy link
Author

z0rc commented Mar 30, 2022

#582 continues problematic trend.

@z0rc
Copy link
Author

z0rc commented Aug 10, 2022

Adding #611 to collection.

@z0rc
Copy link
Author

z0rc commented Oct 4, 2022

Adding #644 to collection.

@mloiseleur
Copy link
Member

Hello @z0rc,

Thanks for your interests in Traefik Documentation quality. Wdyt about PR #649 ?

@PrivatePuffin
Copy link

Hello @z0rc,

Thanks for your interests in Traefik Documentation quality. Wdyt about PR #649 ?

Documentation is great and process is solid.

However, the complaint by @z0rc was not the documentation itself.
@z0rc complains that you should never do changes to CRDs without major version changes or, at least, sending out a clear warning to users. Because helm doesn't keep track of it.

Documenting how to do it, solves half of the problem.
You should also clearly instruct your developers to stop pushing CRD changes outside of major version increases (a bit like prometheus handles this).

To be frank: things like "keeping version numbers in a CRD" are a super bad practice, as they should never change outside of major version increases.

TLDR:
You also need to stop your developers from changing CRDs this easily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/proposal a proposal that needs to be discussed.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants