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

chart: Allow to optout CRD installation #4555

Closed
wants to merge 1 commit into from

Conversation

k0da
Copy link
Contributor

@k0da k0da commented Jun 17, 2024

DNS Endpoint crd might be already part of a different chart. Allow to skip installation of CRD

Description

Fixes #ISSUE

Checklist

  • Unit tests updated
  • End user documentation updated

DNS Endpoint crd might be already part of a different chart. Allow to skip installation of CRD

Signed-off-by: Dinar Valeev <k0da@opensuse.org>
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 17, 2024
@k8s-ci-robot
Copy link
Contributor

Hi @k0da. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jun 17, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign stevehipwell for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k0da
Copy link
Contributor Author

k0da commented Jun 17, 2024

/cc @stevehipwell

Copy link
Contributor

@stevehipwell stevehipwell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @k0da but this behaviour is already supported via the --skip-crds Helm flag (which IMHO should be the default behaviour for Helm but that's another topic).

The code change in your PR here would leave the CRD being installed via the native Helm support (it's in the crds folder) but would also attempt to install it via the legacy Helm v2 template method. As a best case this is just very confusing as the CRD will be installed no matter how the value is set (unless the --skip-crds flag is also set), worst case involves data loss and potential downtime (there is a reason why Helm chooses not to manage CRDs).

I have sympathy for people who are having issues with the addition of the CRD to the chart (see the comments on #4322 where I push back) as it does make the use more complex. However Helm based tooling should be able to ignore chart CRDs to allow them to be installed separately, as this is a best practice.

Please let me know if I've missed anything otherwise I'll close this PR.

@k0da
Copy link
Contributor Author

k0da commented Jun 17, 2024

@stevehipwell I'd love to use helm --skip-crds but we're deploying not by helm directly. rancher/fleet to be precise.

Although your point makes sense. I'm looking for a best way to resolve conflict between two charts.

@stevehipwell
Copy link
Contributor

@k0da I think your issue here is with Fleet as I've just had a quick look at the docs and I can't see any way to set the --skip-crds flag for Helm. I'm not sure how Fleet can be functional without this configuration as IMHO this is table stakes for Helm.

RE ExternalDNS you can open an issue in the repo to remove the CRD from the Helm chart; but I don't think there is going to be much support for this as this looks to be a tooling issue that isn't present in the native Helm use nor in other common tools (e.g. Argo CD).

@k0da
Copy link
Contributor Author

k0da commented Jun 17, 2024

@stevehipwell I'll look around. To gather more prove points. Will reopen if I'll find more prove points. Thanks for review.

@k0da k0da closed this Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants