-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
External-dns project scope #1923
Comments
/assign @Raffo @njuettner |
Thanks for the issue @ytsarev . I'm gonna chat about this with @njuettner on our weekly meeting. I'd love to see the community chip in in this, we can also extend it to a video chat in which we discuss it, I'd be open to that. |
Me, @njuettner and @linki chatted about this issue and while we did not reach an agreement on how to move forward with a decision, I thought I would share an update on the topic:
Again no final decision, we will be thinking this further. Further input and comments on the points above are clearly welcome. |
Hi, I'm offering a voice here as someone who expected too much from external-dns. The CRD source seemed like a really powerful step up when I came across it. In particular I wanted external-dns to satisfy cert-manager challenges & to create A/AAAA records pointing to a CDN. It took a week or two for me to realize the CRD source was a real over-promise. If external-dns wants to block expanding scope then I think that documenting into the CRD source would help a fair bit since it provides the widest gate. As record types are currently limited here, I ended up writing an experimental external-dns-like loop [1] with a similar TXT registry. I added a list of managed record types to the registry TXT records so that, for example, the program is happy to own only A/AAAA/MX for the domain apex & at the same time manage NS records for a subdomain. This granularity was a relatively small addition that covers a fair amount of ground. BTW, I'm not sure that even A/CNAME is enough, I'd argue that A/AAAA/CNAME would be most forward thinking. There's definitely ongoing efforts around dualstack kubernetes that would appreciate that. Currently external-dns has a tendency to generate invalid A records when it stumbles across IPv6 addresses and fail to do anything. eg #1887 #1812 |
@Raffo what is conceptually wrong with a current flagged approach you recently introduced? We can keep additional record support optional and only people who require advanced external-dns operations will enable them. Personally I heavily rely on DNSEndpoint CRD and NS record support in my project and if it goes away I will have no other choice but to fork external-dns. Hopefully, we can avoid that. |
@danopia will take a look at your AAAA PR and your project to see if it can inform where we need to take ExternalDNS. One thing that I mentioned when talking with the other maintainers is that I would love to avoid generating many forks as this is exactly the type of situation that we wanted to avoid when the project was created. The issue now is really having capacity to maintain the project.
@ytsarev There's nothing wrong with that, I'd love to try to understand how we can evolve the project while avoiding significant slips like the one that happened with 0.7.5. Adding complexity will obviously make those regression more probable. To be clear: at the moment we are not planning to remove any functionality. |
I would love to wait for another loop with the other maintainers before merging more record types. |
got it, makes sense, will watch this discussion closely |
How does the TXT registry work with multiple record types? Is this documented somewhere? Without knowing how it currently works, the following is the way I imagine would be reasonable: For each RRSet type
|
Includes DNSEndpoint support, but read the comments in the template.yml for gotchas. TL;DR only A & CNAME records are supported. AAAA is most missed. re kubernetes-sigs/external-dns#1923 re kubernetes-sigs/external-dns#1887 Signed-off-by: Gerhard Lazu <[email protected]>
@Raffo I have one question regarding the following:
Is not stating AAAA records an oversight here? |
@haslersn it doesn't, that's the problem. We could expand it as you proposed.
@morremeyer yes, totally, AAAA need to be supported. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
Perhaps this sort of meta ticket should be excluded from staleness? |
/remove-lifecycle stale |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
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/test-infra repository. |
As this is implemented, it opens a way to handle whatever record type theoretically |
Recently we faced the unclarity in the scope of the project.
We faced the situation when
Main project maintainers reasonably try to keep the scope focus to the original external-dns use case. That is, the creation of A/CNAME ecords from associated Service and Ingress objects, see After update from 0.7.4 to 0.7.5 external-dns try to delete ns record #1895 (comment)
Meanwhile community frequently demands external-dns to support more flexible cases with extended DNS record type support and CRD like in CRD unable to create DNSEndpoint of record types other than A or CNAME #1647
It already led to ambiguity and unexpected issues like #1895 which was introduced by adding
NS
type support #1813The current issue was mitigated by keeping extended functionality under the flag in #1915
We need to clarify and agree on the future strategy of external-dns functionality extension.
Practically it nails down to the question if we should add support of new DNS record types and/or if this support should be disabled by default with associated flag control.
Currently, there is visible demand for SRV and TXT record extension:
The text was updated successfully, but these errors were encountered: