-
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
Kops compatibility mode #2041
Kops compatibility mode #2041
Conversation
/kind feature |
/assign @Raffo |
Hey. Would be nice if someone could take a look at this sometime in the not too distant future. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Some nits but in general looks good to me. One thing we definitely need is documentation. Please create a file in /docs so that we have it and can reference this implementation.
source/compatibility.go
Outdated
|
||
"sigs.k8s.io/external-dns/endpoint" | ||
) | ||
|
||
const ( | ||
mateAnnotationKey = "zalando.org/dnsname" | ||
moleculeAnnotationKey = "domainName" | ||
// dnsControllerHostnameAnnotationKey is the annotation used for defining the desired hostname when DNS controller compatibility mode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also be a bit more explicit here to mention it's kops.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general everywhere we mentioning dns controller also mention kops please.
The implementation is largely documented in https://github.com/kubernetes-sigs/external-dns/blob/master/docs/legacy/kops-dns-controller.md How about moving that page to |
… sense Co-authored-by: Nick Jüttner <nick@juni.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: njuettner, olemarkus The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Description
This PR introduces a dns-controller compatibility mode. When set, external-dns will respect the dns-controller annotations and mimic the dns-controller logic.
The dns-controller logic is sometimes not that intuitive, but I have tried to cover/illustrate the behaviour with unit tests.
With this PR, I managed to use external-dns as drop-in for dns-controller, with some small modifications on kops side, such as setting the compat flag.
Refs #221 #1997
Checklist
Once the necessary changes have been done on the kOps side, I can add a tutorial here on how to replace dns-controller.