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

CRD generated for ExternalDnsEndpoint fails to install due to missing [api-approved.kubernetes.io] annotation #1889

Closed
jefflill opened this issue Mar 16, 2024 · 1 comment
Assignees

Comments

@jefflill
Copy link
Collaborator

jefflill commented Mar 16, 2024

The generated CRD fails to install in the [neon-cluster-operator] Helm chart because it's missing the special api-approved.kubernetes.io annotation. Here's the Helm error:

CustomResourceDefinition.apiextensions.k8s.io "dnsendpoints.externaldns.k8s.io" is invalid: metadata.annotations[api-approved.kubernetes.io]: Required value: protected groups must have approval annotation "api-approved.kubernetes.io"

Perhaps the analyzer could identify resources like this by looking for [KubeGroup] values ending in ".k8s.io" and add this annotation or not generate the CRD at all (if that makes sense).

I'm not entirely sure that just adding the annotation will work. This post describes how doing this can result in unexpected (aka BAD) behavior:

 https://raesene.github.io/blog/2021/11/01/fun-with-CRDs/

The api-approved.kubernetes.io annotation doesn't really appear to be documented (kubernetes/website#30764). It's supposed to be set the the URL for the Kubernetes GitHub pull request that approved the CRD.

It doesn't look like we're referencing this anywhere, so I'm going to comment this out the ExternalDnsEndpoint class for now.

@marcusbooyah
Copy link
Member

These ignored CRDs should actually be ignored now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants