-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Support multi-value A-records #93
Comments
This is a known issue, at least for me: https://github.com/kashalls/external-dns-unifi-webhook/blob/main/internal/unifi/client.go#L221 UniFi only supports creating 1:1 records. I need a way to match up 1:* without making it super complicated (as external-dns can have many targets as possible) When ExternalDNS calls GetRecords, it is going to want to match the state of the cluster itself. I'm open to ideas on how to do this. |
I do know you can have multiple A records with the same name (left hand value) in UniFi DNS. I need to sit down and learn more about the implementation to really have a good grasp. I'm definitely highly invested in getting this to work. |
I made #94 to build a "test". When it's finished building that image, can you test the tag |
Here's an image to test: |
I can confirm that does in fact create the additional records correctly. Looks like a good fix to me. I'll create another ticket for better handling reconciliation (using
|
Does external-dns seem to endlessly sync instead of occuring once and just idling? |
It does run once and pause for the next interval. Logs
Summarized
|
I just checked and this implementation allows for the records to be created and deleted. However, the GetEndpoints is still returning the wrong response to ExternalDNS causing the records to be constantly updated (by being deleted and created every time it sync's) when I create three kubernetes secrets with different external ips and identical hostnames. It would not be a good idea for this to be pushed to main as is IMO. Not against the idea of supporting this, just no known way to fix this. |
Feature Description
I'm not sure if this is intentional or not (limitations of UniFi's API), but currently any multi-value A-records will only write the first value to the UniFi DNS API.
The Istio Ingress GW has 3 External IPs.
But only the first one gets written.
# Checking what was written dig @10.0.42.1 api.dev.r35.network 10.0.43.221
Search
Code of Conduct
The text was updated successfully, but these errors were encountered: