Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Libdns: Core interfaces for universal DNS record manipulation across providers (github.com/libdns)
39 points by imran-iq on July 11, 2023 | hide | past | favorite | 5 comments


There's this note about Octodns and Dnscontrol that needs clearing:

  WARNING: OctoDNS assumes ownership of any domain you point it to. When you tell it to act it will do whatever is necessary to try and match up states including deleting any unexpected records. Be careful when playing around with OctoDNS.
That makes it sound like a design failure, but Octodns and Dnscontrol are not the same type of tool. Those tools are declarative, and libdns is imperative.

With Octodns you declare a state, and the tool makes whatever is needed to sync it. That's why it will delete any records that aren't declared in your configuration (you can configure it to ignore certain records, though). Hence, it's idempotent.

Libdns is imperative, you ask it to do certain task (be it creation, modification or deletion) regardless of the initial or final state.

So, both are useful, but for different tasks.


Namecheap's API is like this. It's baffling. People wipe out their entire zones by accident

https://www.namecheap.com/support/api/methods/domains-dns/se...


Wow, big zone management must be a pain!

The declarative API is interesting, but it's weird there isn't any other method for imperatively adding or deleting records...


To be fair, that is also explained:

> This is incredibly useful when you are maintaining your own zone file, but risky when you just need incremental changes.

But I agree including the warning is a bit over-the-top.


I've been thinking about making something like this for years, so I'm really glad it exists now!

A cool idea now would be to make a little lightweight web GUI out of it to manage all your domains in one place...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: