Skip to content

Implement external-dns' webhook provider interface #3576

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

Open
mrueg opened this issue May 18, 2025 · 3 comments
Open

Implement external-dns' webhook provider interface #3576

mrueg opened this issue May 18, 2025 · 3 comments

Comments

@mrueg
Copy link

mrueg commented May 18, 2025

Is your feature request related to a problem? Please describe.
External-DNS is trying to reduce the number of internal DNS providers. It implemented support for webhooks to communicate with external providers for specific DNS (see: https://kubernetes-sigs.github.io/external-dns/v0.17.0/docs/tutorials/webhook-provider/ https://github.com/kubernetes-sigs/external-dns/blob/master/provider/webhook/webhook.go)

Describe the solution you'd like
It would be nice if dnscontrol could implement the webhook provider interface. This would likely increase the userbase of dnscontrol as well as reduce maintenance efforts on both sides for the same providers.

Describe alternatives you've considered
Write an external webhook service like https://github.com/mrueg/external-dns-netcup-webhook/ that interacts with dnscontrol' binary or embeds dnscontrol.

Additional context
Add any other context or screenshots about the feature request here.

@tlimoncelli
Copy link
Contributor

It's good to see external-dns is becoming more generic!

However dnscontrol is a command-line tool, not a service that runs 24/7. How do you imagine this would work?

@mrueg
Copy link
Author

mrueg commented May 19, 2025

I can see two options:

  • dnscontrol could run a http server, which then will be utilized by external-dns directly (so it would read provider config from file input and the DNS config through the http endpoints (this will require changes to dnscontrol)

  • An external webhook provider receives the input from external-dns and creates a file that dnscontrol is able to read. This tool would invoke the dnscontrol binary to then execute the changes (this doesn't require changes to dnscontrol but is more complex)

@tlimoncelli
Copy link
Contributor

Yeah, I agree that those are the options.

Currently my time for DNSControl is limited to features that my employer needs. While we use k8s, we don't need this kind of integration.

I'd be glad to consult with anyone interested in doing a project like this.

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