dnscontrol/OWNERS
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

28 lines
718 B
Plaintext

# providers/activedir
providers/axfrddns @hnrgrgr
providers/azuredns @vatsalyagoel
providers/bind @tlimoncelli
# providers/cloudflare
providers/cloudns @pragmaton
providers/desec @D3luxee
providers/doh @mikenz
providers/digitalocean @Deraen
providers/dnsimple @aeden
providers/gandi_v5 @TomOnTime
# providers/gcloud
providers/hedns @rblenkinsopp
providers/hetzner @das7pad
providers/hexonet @papakai
providers/internetbs @pragmaton
providers/inwx @svenpeter42
providers/linode @koesie10
providers/namecheap @captncraig
# providers/namedotcom
providers/netcup @kordianbruck
providers/ns1 @captncraig
# providers/route53
# providers/softlayer
providers/vultr @pgaskin
providers/ovh @masterzen
providers/powerdns @jpbede