dnscontrol/docs/provider-list.md
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

4.3 KiB

layout title
default Service Providers

Service Providers

{% for p in site.providers %} {% endfor %}
Name Identifier
{{p.name}} {{p.jsId}}

Provider Features

The table below shows various features supported, or not supported by DNSControl providers. Underlined items have tooltips for more detailed explanation. This table is automatically generated from metadata supplied by the provider when they register themselves inside dnscontrol.

An empty space may indicate the feature is not supported by a provider, or it may simply mean the feature has not been investigated and implemented yet. If a feature you need is missing from a provider that supports it, we'd love your contribution to ensure it works correctly and add it to this matrix.

If a feature is definitively not supported for whatever reason, we would also like a PR to clarify why it is not supported, and fill in this entire matrix.



{% include matrix.html %}

Providers with "official support"

Official support means:

  • New releases will block if any of these providers do not pass integration tests.
  • The DNSControl maintainers prioritize fixing bugs in these providers (though we gladly accept PRs).
  • New features will work on these providers (unless the provider does not support it).
  • StackOverflow maintains test accounts with those providers for running integration tests.

Current owners are:

  • ACTIVEDIRECTORY_PS @tlimoncelli
  • AZURE_DNS @vatsalyagoel
  • BIND @tlimoncelli
  • CLOUDFLAREAPI @tlimoncelli
  • GCLOUD @tlimoncelli
  • NAMEDOTCOM @tlimoncelli
  • ROUTE53 @tlimoncelli

Providers with "contributor support"

The other providers are supported by community members, usually the original contributor.

Due to the large number of DNS providers in the world, the DNSControl team can not support and test all providers. Test frameworks are provided to help community members support their code independently.

  • Maintainers are expected to support their provider and/or find a new maintainer.
  • Bugs will be referred to the original contributor or their designate.
  • Maintainers should set up test accounts and regularly verify that all tests pass (pkg/js/parse_tests and integrationTest).
  • Contributors are encouraged to add new tests and refine old ones. (Test-driven development is encouraged.)

Maintainers of contributed providers:

  • AXFRDDNS @hnrgrgr
  • CLOUDNS @pragmaton
  • CSCGLOBAL @Air-New-Zealand
  • DESEC @D3luxee
  • DIGITALOCEAN @Deraen
  • DNSOVERHTTPS @mikenz
  • DNSIMPLE @aeden
  • EXOSCALE @pierre-emmanuelJ
  • GANDI_V5 @TomOnTime
  • HEDNS @rblenkinsopp
  • HETZNER @das7pad
  • HEXONET @papakai
  • INTERNETBS @pragmaton
  • INWX @svenpeter42
  • LINODE @koesie10
  • NAMECHEAP @captncraig
  • NETCUP @kordianbruck
  • NS1 @captncraig
  • OCTODNS @TomOnTime
  • OPENSRS @pierre-emmanuelJ
  • OVH @masterzen
  • POWERDNS @jpbede
  • SOFTLAYER@jamielennox
  • VULTR @pgaskin

Requested providers

We have received requests for the following providers. If you would like to contribute code to support this provider, please re-open the issue. We'd be glad to help in any way.

In progress providers

These requests have an open issue, which indicates somebody is actively working on it. Feel free to follow the issue, or pitch in if you think you can help.

Providers with open PRs

These providers have an open PR with (potentially) working code. They may be ready to merge, or may have blockers. See issue and PR for details.