[GH-ISSUE #765] Monitoring agent for dynamically inserting and removing records in an RRSet #291

Open
opened 2026-03-07 23:17:28 +03:00 by kerem · 3 comments
Owner

Originally created by @mhf-ir on GitHub (May 14, 2019).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/765

Is your feature request related to a problem? Please describe.
Client need the get healthy ip from dns server and many dns server could check it via many methods. consider we have 3 haproxy/nginx as front of application theire need to be accessible and healthy then dns server set dynamic record for client who ask.
Or for geo ipdb resolve nearest reverse proxy server for client if chain of dynamic records pass.

Describe the solution you'd like
I think like consul as define service, or powerdns as lua script or even gdnsd https://github.com/gdnsd/gdnsd/wiki/GdnsdPluginHttpStatus
Any scriptinc or standr http client for healthy records and state of each record status

Describe alternatives you've considered
I could add sub dns system like consul that served as another cname for authority server:
https://medium.com/@semnanweb/service-discovery-tell-dns-server-which-load-balancer-is-ok-132a3c3b47f9

Additional context
More stuff will be greate

Originally created by @mhf-ir on GitHub (May 14, 2019). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/765 **Is your feature request related to a problem? Please describe.** Client need the get healthy ip from dns server and many dns server could check it via many methods. consider we have 3 haproxy/nginx as front of application theire need to be accessible and healthy then dns server set dynamic record for client who ask. Or for geo ipdb resolve nearest reverse proxy server for client if chain of dynamic records pass. **Describe the solution you'd like** I think like consul as define service, or [powerdns as lua script](https://blog.powerdns.com/2017/12/15/powerdns-authoritative-lua-records/) or even gdnsd https://github.com/gdnsd/gdnsd/wiki/GdnsdPluginHttpStatus Any scriptinc or standr http client for healthy records and state of each record status **Describe alternatives you've considered** I could add sub dns system like consul that served as another cname for authority server: https://medium.com/@semnanweb/service-discovery-tell-dns-server-which-load-balancer-is-ok-132a3c3b47f9 **Additional context** More stuff will be greate * I think your project need static site generator for documentation. * Wildcard dns challenge for letsencrypt need dns functionallity if be automate will be awesome. https://www.bennadel.com/blog/3420-obtaining-a-wildcard-ssl-certificate-from-letsencrypt-using-the-dns-challenge.htm * focus on binary release alternative to bind or powerdns
Author
Owner

@bluejekyll commented on GitHub (May 14, 2019):

Thanks for the feedback. I've started work on a new static site for documentation, the progress is here: https://github.com/bluejekyll/trust-dns/pull/590

Due to some other things going on, I haven't had time yet to go back and finish it up.

I'm having a little trouble understanding some of your request. I think what you're asking for is a way to monitor IP addresses through some form of a health check, and then dynamically remove temporarily or add back records based on the health of the endpoint. Is this accurate? (even if not, it would be a cool feature).

Though, it's not a perfect solution to the problem, as any client will need to deal with stale records in caches. So clients will still need to be concerned with stale or "down" IPs coming back.

<!-- gh-comment-id:492443691 --> @bluejekyll commented on GitHub (May 14, 2019): Thanks for the feedback. I've started work on a new static site for documentation, the progress is here: https://github.com/bluejekyll/trust-dns/pull/590 Due to some other things going on, I haven't had time yet to go back and finish it up. I'm having a little trouble understanding some of your request. I think what you're asking for is a way to monitor IP addresses through some form of a health check, and then dynamically remove temporarily or add back records based on the health of the endpoint. Is this accurate? (even if not, it would be a cool feature). Though, it's not a perfect solution to the problem, as any client will need to deal with stale records in caches. So clients will still need to be concerned with stale or "down" IPs coming back.
Author
Owner

@mhf-ir commented on GitHub (May 14, 2019):

I'm having a little trouble understanding some of your request. I think what you're asking for is a way to monitor IP addresses through some form of a health check, and then dynamically remove temporarily or add back records based on the health of the endpoint. Is this accurate? (even if not, it would be a cool feature).

Though, it's not a perfect solution to the problem, as any client will need to deal with stale records in caches. So clients will still need to be concerned with stale or "down" IPs coming back.

That's right, i think DNS servers must be more intelligence than ancient ones.
Right, cache could be problem but with minimum TTL better to be static configuration.
BTW thank you for awesome project.

<!-- gh-comment-id:492447566 --> @mhf-ir commented on GitHub (May 14, 2019): > I'm having a little trouble understanding some of your request. I think what you're asking for is a way to monitor IP addresses through some form of a health check, and then dynamically remove temporarily or add back records based on the health of the endpoint. Is this accurate? (even if not, it would be a cool feature). > > Though, it's not a perfect solution to the problem, as any client will need to deal with stale records in caches. So clients will still need to be concerned with stale or "down" IPs coming back. That's right, i think DNS servers must be more intelligence than ancient ones. Right, cache could be problem but with minimum TTL better to be static configuration. BTW thank you for awesome project.
Author
Owner

@bluejekyll commented on GitHub (May 15, 2019):

Cool. Got it. I think that’s a great idea.

Let me think about the design for such a thing. I’m wondering if we should design this as a separate monitor process that using dynamic update (rfc 2136) to update records. This would allow the server/authority to stay a little lighter and more “pure”, it would have the downside of increasing architecture complexity of deployments a bit, and also require some consistency (planned) to keep authorities in sync.

<!-- gh-comment-id:492479992 --> @bluejekyll commented on GitHub (May 15, 2019): Cool. Got it. I think that’s a great idea. Let me think about the design for such a thing. I’m wondering if we should design this as a separate monitor process that using dynamic update (rfc 2136) to update records. This would allow the server/authority to stay a little lighter and more “pure”, it would have the downside of increasing architecture complexity of deployments a bit, and also require some consistency (planned) to keep authorities in sync.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#291
No description provided.