Top 4.7% dependent repos on proxy.golang.org
proxy.golang.org : github.com/libdns/desec
Package desec implements a DNS record management client compatible with the libdns interfaces for deSEC. The deSEC API doesn't map 1:1 to the libdns API. The main issue is that libdns works on the record level while the deSEC API works on the RRset level. This API impedence mismatch makes it impossible to update individual records atomically using the libdns API. The implementation here goes to great lengths to avoid interference of multiple concurrent requests, but that only works within a single process. If multiple processes are modifying a deSEC zone concurrently, care must be taken that the different processes operate on different resource record sets. Otherwise multiple concurrent operations will override one another. The easiest way to protect against that is to use different names within the zone for different processes. If multiple processes operate on the same resource record set, it's possible for two concurrently running writes to result in inconsistent records. For a the same reason as above, the TTL attribute cannot be set on the per record level. If multiple different TTLs are specified for different records of the same name and type, one of them wins. It's not defined which on that is. deSEC requires the use of pagination for zones with more than 500 RRSets. This is a reasonable limit for a general purpose library like libdns and no effort is made to handle zones with more than 500 RRSets. Methods that can fail with more than 500 RRSets have a godoc comment explaining this. deSEC applies rate limiting, this implementation will retry when running into a rate limit while observing context cancellation. In practice this means that calls to methods of this provider can take multiple seconds and longer. It's therefore very important to set a deadline in the context.
Registry
-
Source
- Documentation
- JSON
purl: pkg:golang/github.com/libdns/desec
License: MIT
Latest release: 2 months ago
First release: about 2 years ago
Namespace: github.com/libdns
Dependent packages: 2
Dependent repositories: 1
Stars: 5 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 1 day ago