An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 4.2% dependent packages on proxy.golang.org
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

    Loading...
    Readme
    Loading...