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

Add CRD - DNSEnpoint to the helm chart template #2640

Closed
Sola-ML opened this issue Mar 11, 2022 · 19 comments · Fixed by #4322
Closed

Add CRD - DNSEnpoint to the helm chart template #2640

Sola-ML opened this issue Mar 11, 2022 · 19 comments · Fixed by #4322
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@Sola-ML
Copy link

Sola-ML commented Mar 11, 2022

What would you like to be added:
CRD DNSEnpoint include in the helm chart template
Probably this was wrongly closed
https://github.com/kubernetes-sigs/external-dns/blob/master/docs/contributing/crd-source.md

Why is this needed:
Helps to ensure no separate CRD deployment is needed when using the helm

@Sola-ML Sola-ML added the kind/feature Categorizes issue or PR as related to a new feature. label Mar 11, 2022
jkremser added a commit to jkremser/external-dns that referenced this issue Mar 21, 2022
…to helm deliverables

Since DNSEndpoint can be used as one of the sources for external-dns, it would be handy to be able
to deploy its definition file together with the main deployment.

More info:
- piggy-backing on the make crd to create such template file under charts/external-dns/templates/
- by default it's the same as before and the CRD is not deployed using helm chart
- to enable the CRD deployment, one has to set helm value deployCrd=true

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
jkremser added a commit to jkremser/external-dns that referenced this issue Mar 21, 2022
…to helm deliverables

Since DNSEndpoint can be used as one of the sources for external-dns, it would be handy to be able
to deploy its definition file together with the main deployment.

More info:
- piggy-backing on the make crd to create such template file under charts/external-dns/templates/
- by default it's the same as before and the CRD is not deployed using helm chart
- to enable the CRD deployment, one has to set helm value deployCrd=true

Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
@stevehipwell
Copy link
Contributor

I think there have been a number of discussions in this repo regarding the stability of the CRD in the repo and the suitability of making it an official component of the Helm chart. I'd like an explicit approval that it can be included by a maintainer before approving adding it to the chart. The chart does already currently support the CRD workflow once the CRD is installed.

Remember that Helm shouldn't be used to install CRDs as it can't handle the lifecycle and the only reason to add the CRD is to allow easy prototyping and as a lookup for the CRD.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 19, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 19, 2022
@snorwin
Copy link

snorwin commented Aug 8, 2022

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 8, 2022
@snorwin
Copy link

snorwin commented Aug 8, 2022

I think it would be really helpful to have the CRD in the helm chart. Currently, I use the bitnami helm chart (https://github.com/bitnami/charts/tree/master/bitnami/external-dns) just for that reason. However, I would really prefer to use the official chart.

@stevehipwell
Copy link
Contributor

Remember that Helm shouldn't be used to install CRDs as it can't handle the lifecycle and the only reason to add the CRD is to allow easy prototyping and as a lookup for the CRD.

This is more of a problem with pre-release CRDs as if the CRD doesn't change not being able to update the CRD is a non-issue. AFAIK the CRD in question is pre-release and hasn't progressed recently, this might want addressing before we add the CRD to the chart and people start using Helm to install it.

@snorwin
Copy link

snorwin commented Aug 9, 2022

There are two possibilities for the CRD:

  1. put the CRDs in the special crds directory and install them only once. Even if Helm cannot manage the lifecycle, many CICD tools (e.g. ArgoCD) can do this.
  2. add the CRDs directly to the templates folder and update them with helm (as is done in the bitnami helm chart). Since there is no DNSEndpoint in the helm chart, it is not necessary to register the CRDs before applying other resources.

Nevertheless, both approaches are much more convenient than cloning the repo, generating the CRD and applying it by hand.

@stevehipwell
Copy link
Contributor

@snorwin option 2 is off the table as an anti-pattern, this is how Helm v2 hacked CRDs before the addition of support for the crds directory in v3. I'd be happy with option 1 if the CRD had a GA version as the inevitable misuse would have a lower impact, but until then I don't think the benefit outweighs the cost.

FYI the CRD is available at https://raw.githubusercontent.com/kubernetes-sigs/external-dns/master/docs/contributing/crd-source/crd-manifest.yaml so there is no need to clone and build the CRD.

@snorwin
Copy link

snorwin commented Aug 9, 2022

@stevehipwell I totally agree, I also prefer option 1.

What is still missing for the CRD to become GA? Is there an issue tracking the missing features (i.e. error message in the status, support for TXT records, ...)?

I would be happy to contribute.

@stevehipwell
Copy link
Contributor

@snorwin I've not had much luck on the topic of the CRD when I've brought it up, I think this is because it's a contrib component and the maintainers here are snowed under. I'd suggest a new issue about making the CRD GA would be the best place to start, you might also want to look in on #2529 and link the two together.

@snorwin
Copy link

snorwin commented Aug 9, 2022

@stevehipwell I opened another issue to make the CRD GA: #2941

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 7, 2022
@snorwin
Copy link

snorwin commented Nov 11, 2022

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 11, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 9, 2023
@onedr0p
Copy link
Contributor

onedr0p commented Feb 9, 2023

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 9, 2023
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 10, 2023
@onedr0p
Copy link
Contributor

onedr0p commented May 10, 2023

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 10, 2023
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2024
@onedr0p
Copy link
Contributor

onedr0p commented Jan 20, 2024

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2024
onedr0p added a commit to onedr0p/external-dns that referenced this issue Mar 19, 2024
k8s-ci-robot pushed a commit that referenced this issue Apr 3, 2024
* Add `dnsendpoint` CRD to Helm chart

Fixes: #2640

* Update charts/external-dns/crds/dnsendpoint.yaml

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Update charts/external-dns/crds/dnsendpoint.yaml

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Update charts/external-dns/crds/dnsendpoint.yaml

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>

* Update CHANGELOG.md

* add required annotation back to fix helm lint

---------

Co-authored-by: Steve Hipwell <steve.hipwell@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
6 participants