dnscontrol/providers
Jakob Ackermann 2b50af0cbc
NEW PROVIDER: HETZNER DNS Console (#904)
* HETZNER: implement the provider for Hetzner DNS Console

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: apply review feedback

- add domain into error messages
- insert sub-strings using `%q`
- insert sub-errors using `%w`
- change api.getZone() signature to return a (potentially `nil`) Zone
   pointer instead of a (potentially empty) Zone value
- sort imports and confirm with `$ goimports -w providers/hetzner/`
- use exact 'api_key' term in error message of settings validation
- add blank line for logic separation
- drop internal record id from correction messages

Co-Authored-By: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: add request rate-limiting handling

There are a limited number of data-points on how their rate-limiting
 works at this time. I deduce from my account to others and use a fixed/
 constant backoff of 1s as the initial delay. Thereafter exponential
 increase with factor 2 (not needed at this time).
Hetzner has not made any official statements on rate-limiting, so this
 is guesswork only.

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: address golint complaints

- baseUrl -> baseURL
- mark Record as private -> record
- mark Zone as private -> zone
- mark RequestRateLimiter as private -> requestRateLimiter
- capitalize Id fields as ID
- keep delay logic on same level, move return out of branch

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: rate_limited: init the response timestamp on requestRateLimiter

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: requestRateLimiter: align local variable with struct name

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-10-22 09:44:21 -04:00
..
_all NEW PROVIDER: HETZNER DNS Console (#904) 2020-10-22 09:44:21 -04:00
activedir Cleanups: Fix many issues reported by staticcheck.io (#837) 2020-08-30 20:38:08 -04:00
axfrddns AUTODNSSEC -> AUTODNSSEC_ON (#863) 2020-09-27 16:37:42 -04:00
azuredns AZURE: Cleanup: Errorf is a pure function but its return value is ignored #836 (#843) 2020-09-04 07:30:41 -04:00
bind AUTODNSSEC -> AUTODNSSEC_ON (#863) 2020-09-27 16:37:42 -04:00
cloudflare Internal: deps updates and linting (#905) 2020-10-18 14:04:50 -04:00
cloudns ClouDNS: Return API error only when body unmarshals to errorResponse (#875) 2020-09-29 07:23:14 -04:00
config Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
cscglobal Add D_EXTEND (#885) (thanks to @ad8-bdl!) 2020-10-07 14:27:33 -04:00
desec Cleanups: Fix many issues reported by staticcheck.io (#837) 2020-08-30 20:38:08 -04:00
digitalocean Cleanups: Fix many issues reported by staticcheck.io (#837) 2020-08-30 20:38:08 -04:00
dnsimple AUTODNSSEC -> AUTODNSSEC_ON (#863) 2020-09-27 16:37:42 -04:00
doh NEW PROVIDER: DOH: Read-only Registrar that validates NS records (#840) 2020-09-04 10:22:41 -04:00
exoscale Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
gandi_v5 GANDI_V5: Use github.com/go-gandi/go-gandi, not github.com/tiramiseb/go-gandi (#883) 2020-10-02 13:53:03 -04:00
gcloud Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
hedns NEW PROVIDER: HEDNS: Hurricane Electric DNS (dns.he.net) (#822) 2020-08-26 13:38:28 -04:00
hetzner NEW PROVIDER: HETZNER DNS Console (#904) 2020-10-22 09:44:21 -04:00
hexonet Internal: deps updates and linting (#905) 2020-10-18 14:04:50 -04:00
internetbs Cleanups: Fix many issues reported by staticcheck.io (#837) 2020-08-30 20:38:08 -04:00
inwx INWX: Support creating domains (#855) 2020-09-21 09:27:50 -04:00
linode Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
namecheap Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
namedotcom Cleanups: Fix many issues reported by staticcheck.io (#837) 2020-08-30 20:38:08 -04:00
netcup Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
ns1 Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
octodns Cleanups: Fix many issues reported by staticcheck.io (#837) 2020-08-30 20:38:08 -04:00
opensrs Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
ovh Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
powerdns AUTODNSSEC -> AUTODNSSEC_ON (#863) 2020-09-27 16:37:42 -04:00
route53 Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
softlayer Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
vultr VULTR: Update govultr to v1.0.0 (fixes #892) (#897) 2020-10-08 16:12:56 -04:00
capabilities.go New provider: INWX (#808) 2020-08-17 08:45:44 -04:00
capability_string.go Provider support for DS records as children only (#765) 2020-06-18 17:24:13 -04:00
providers.go Update github.com/StackExchange/dnscontrol/v2 2020-04-14 16:49:03 -04:00