Commit graph

60 commits

Author SHA1 Message Date
Tom Limoncelli 1cea854e1c
MAINT: Adopt go 1.16's embed feature (#1162)
* MAINT: Switch from esc to embed
* Simplify
* Update minimum go version in docs and pipelines
* go generate
2021-06-04 15:50:47 -04:00
Tino Teuber 8c98492914
DOCS: Fix typo: will will -> will (#1152) 2021-05-10 07:53:21 -04:00
Tom Limoncelli 42bf027ed3
DOCS: Document how to preview website (#1133)
Doc change. No need for tests.
2021-04-22 15:23:53 -04:00
Vojta Drbohlav 517b0458d6
NEW PROVIDER: DNS Made Easy (#1093)
* implement DNS Made Easy provider

* fix sandbox instructions in DNS Made Easy provider docs

* remove unnecessary blank lines and fix golint warnings

* remove unused deleteRecord method from DNSME api

* remove trailing comma in providers.json

* implement check for TXT records with double quotes for DNSME provider

* implement changing apex NS records

* rename DNSME to DNSMADEEASY

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-03-17 23:36:42 -04:00
Julius Rickert c883c1ac68
New provider and new registrar: hosting.de (#1041)
* Add http.net provider

* Rename httpnetProvider

* Add SSHFP capability

* Add paging for records

* Sort documentation notes alphabetically

* Add custom base URL

* Extend documentation for custom base URL

* - renamed to hosting.de
- Fix EnsureDomainExists
- GetNameservers read from NS Records

* Replaced http.net with hosting.de
Contributor Support from hosting.de

* baseURL for hosting.de in documentation
replaced %v with %w for errors
special handling for txt records using .TxtStrings

* removed last references to rc.Target
fixed Trim of last dot

* Re-engineer TXT records for simplicity and better compliance (#1063)

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Co-authored-by: Oliver Dick <o.dick@hosting.de>
Co-authored-by: Oliver Dick <31733320+membero@users.noreply.github.com>
2021-03-08 19:25:55 -05:00
Nick Gregory 945ffb7e80
NEW PROVIDER: Oracle Cloud (#1021)
* feat: add Oracle provider

* fix ALIAS and NS tests

* return... else if -> return... if

* fix assignment

* remove extraneous blank lines

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-01-24 15:35:12 -05:00
Tom Limoncelli 50db086278
NEW PROVIDER: MSDNS (#1005)
* New provider
* Add support for SRV records
* Modify ACTIVEDIRECTORY_PS provider to warn that it is deprecated.
2020-12-28 16:07:33 -05:00
Tom Limoncelli f30610065c
DOCS: Update install instructions (#951) 2020-11-18 16:15:18 -05:00
Tom Limoncelli 9f323e70d1
DOCS: Add pkg.go.dev badge (#939) 2020-11-12 11:22:19 -05:00
Max Horstmann 50d5cbce25
Update build status badge to GH Actions workflow (#933) 2020-11-06 18:45:06 -05:00
eifelmicha e51688c22d
Update README.md (#915)
Netcup was added in 3.2 https://stackexchange.github.io/dnscontrol/provider-list
2020-10-26 20:20:02 -04:00
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
Patrick Gaskin bc8bcf88c4
Require Go Modules to build (#902)
* Add module info to version

* Add warning if built without Go modules

* Updated source installation instructions for Go modules
2020-10-10 10:34:04 -04:00
Tom Limoncelli 75fcc4751e
DNSOVERHTTPS: Add DNSOVERHTTPS to docs (#844) 2020-09-04 11:51:21 -04:00
Tom Limoncelli 57d9cfa356
Docs: Improve install instructions (#824) 2020-08-26 13:40:33 -04:00
Robert Blenkinsopp 74dd34443a
NEW PROVIDER: HEDNS: Hurricane Electric DNS (dns.he.net) (#822)
* Add initial dns.he.net provider support

* Update to new IncrementalDiff interface

* Fix ListZones output for `all` query on `get-zones`

* Refactor authentication code for 2FA with better error checking

* Fix integration test and refactor zone record retrieval

* Add option to use `.hedns-session` file to store sessions between runs

* Add comment on `session-file-path`

* Add integration test for TXT records longer than 255 characters

* Add additional checks for expected responses, and better 2FA error checking

* Minor documentation changes

* Revert "Add integration test for TXT records longer than 255 characters"

This reverts commit 657272db

* Add note on provider fragility due to parsing the web-interface

* Resolve go lint issues

* Clarify security warnings in documentation
2020-08-26 13:38:28 -04:00
Tom Limoncelli b328bb1b2e
Update README to include install problem (#821)
* Advertise go install problem
2020-08-19 20:01:28 -04:00
Sven Peter f88c60a8f3
New provider: INWX (#808)
* adds initial support for INWX

* adds all features to the INWX provider

* allows domain for tests in creds.json for INWX

* runs go generate to update docs for INWX

* fixes formatting with gofmt

* changes goinwx to github.com/nrdcg/goinwx v0.8.0

* simplifies inwx sandbox check

* changes inwx unknown key error to a warning

* adds models.PostProcessRecords for inwx records

* replaces strings.TrimRight with [:-1] to remove final dot for inwx

* adds a comment about the domain creds.json key for the inwx provider

* removes warning for invalid creds.json keys in the inwx provider

* adds TOTP calculation support for inwx

* adds comments to inwxProvider

* improves INWX error messages

* adds additional documentation about the TOTP support for INWX

* adds inwx documentation

* bumps goinwx to 0.8.1 to fix the inwx API
2020-08-17 08:45:44 -04:00
Jan-Philipp Benecke ffd4e46dda
New DNS provider PowerDNS (#748)
* Added PowerDNS as dns provider

* Remove unnecessary comments

* Some tests

* Implemented feedback
2020-05-30 09:54:07 -04:00
Grégoire Henry 8dd66ec605
New provider: AXFR+DDNS (#259) (#729)
* NEW PROVIDER: AXFR+DDNS (#259)

* AXFRDDNS: split GetZoneRecords in two functions

* AXFRDDNS: improve code documentation

* AXFRDDNS: line-wrap documentation

* AXFRDDNS: add simple `named.conf` as example

* AXFRDDNS: improve error messages

* AXFRDDNS: improve doc.

* AXFRDDNS: update `OWNERS`

* Linting and other cosmetic changes

* AXFRDDNS: fix grammar

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-05-08 10:55:51 -04:00
D3luxee 207f050911
NEW PROVIDER: deSEC (#725)
* Add initial deSEC support

* Handle the api rate limiting

* Fix deleteRR and do some code cleanup

* improve rate limiting and record deletion

* Add documentation for deSEC provider

* README.md update list of supported DNS providers

* deSEC supports SSHFP records

* dynamic minimum_ttl and hint for DNSSec on domain creation

* merge all changes into one single bulk api request

* Fix: actually set the TTL to min_ttl if necessary

* use a constant for apiBase URL

* Fix code comments

* Use PUT instead of PATCH for upsertRR method

* use ' instead of " for java script examples
2020-04-28 14:40:58 -04:00
Tom Limoncelli fa160b7202
Update README.md (#689)
* Update README.md

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-03-10 09:18:19 -04:00
Anton Yurchenko 2d88d81392 NEW PROVIDER: Internet.bs (#590)
* Ineternet.bs: first version of provider
* Ineternet.bs: code and documentation cleanup
2020-01-27 08:25:20 -05:00
Anton Yurchenko 253cd07154 NEW PROVIDER: ClouDNS (#578)
* ClouDNS: first version of provider
* ClouDNS: documentation
* ClouDNS: code cleanup
* ClouDNS: GetNameservers now uses ClouDNS API to fetch NS servers list
* ClouDNS: CAA support
* ClouDNS: TLSA support
* ClouDNS: tests credentials now use variables instead of hardcoded values
* ClouDNS: SSHFP support
* ClouDNS: export only necessary methods
2020-01-20 14:07:38 -05:00
Vatsalya Goel 813a186865 Add Azure DNS (#547)
* Add Azure DNS

* Remove unused code

* Fix failing tests and update build
2019-09-18 21:45:13 -04:00
Craig Peterson e49c642d6c
Switch Build status badge to Azure Pipelines 2019-06-27 01:41:58 -04:00
Nikolay Kolev b3e35b56a2 DOC: Apply brand-preferred case (#429)
* Apply brand-preferred case

* Apply case to own branding as well
2019-05-23 09:29:21 -04:00
Pierre-Emmanuel Jacquier 511c0bf7de NEW PROVIDER: Exoscale (#390)
* Add exoscale provider

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>

* Fix validation

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>

* Fix DualProvider

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>
2019-02-22 09:10:23 -05:00
Sumit Murari a930802a8f Documentation: Added brew installation method to README (#426) 2018-12-13 07:24:34 -05:00
Fumihiro Ito f58acabe9f Build: Minimum Go version is now 1.10 (#409)
Can not build by go version under 1.9.
because using the strings.Builder by library.
2018-10-02 10:29:32 -04:00
Kai Schwarz 3e5d223675 new provider module HEXONET (#373) 2018-08-30 08:54:42 -04:00
Koen Vlaswinkel 9a44e785ac New provider: Linode (#268) 2017-11-14 23:08:06 -05:00
Brice Figureau e44dde52e2 New Provider: OVH DNS Provider (#143) (#175)
* OVH DNS Provider (#143)

This adds the OVH Provider along with its documentation.

Unfortunately we can't set this DNS provider to support `CanUsePTR`,
because OVH only supports setting PTR target on the Arpa zone.

* OVH Registrar provider (#143)

This implements OVH as a registrar provider.
Note that NS modifications are done in a "best effort" mode, as the
provider doesn't wait for the modifications to be fully applied
(the operation that can take a long time).

* Allow support for dual providers scenarios

Since OVH released their APIv6, it is now possible to update
zone apex NS records, opening the door to complete dual providers
scenarii.

This change implements apex NS management in an OVH zone.
2017-11-10 11:02:34 -08:00
Derek Argueta 63498c3ff3 update README to include NS1 as a provider (#240) 2017-10-18 09:19:41 -04:00
Patrick G 23427516c0 Added Vultr provider (#217) (#219)
* Added Vultr provider
* Fixed tests
* Fixed CI build validation
* Add unsupported features
* Added #rtype_variations tags according to stackexchange.github.io/dnscontrol/adding-new-rtypes
* Add title (for compatibility with #223)
* Removed extra rtype_variations
2017-10-12 09:21:36 -04:00
Jamie Lennox 7daa7a6467 Add SoftLayer DNS provider (#59)
Add SoftLayer DNS as a DomainServiceProvider.

The SoftLayer API is a bit of a mess and treats MX and SRV records
differently. This leads to some replication and custom handling issues
to work around.

In this patch I have to change the SRV test case to be _tcp instead of
_protocol because softlayer requires a "known" protocol which AFAICT is
tcp, udp or tls. I think this will be acceptable in most cases.

Signed-off-by: Jamie Lennox <jamielennox@gmail.com>
2017-09-26 13:14:53 -04:00
Craig Peterson e7006f3767 right syntax 2017-09-12 14:38:57 -04:00
Craig Peterson 9c20c91d55 document docker 2017-09-12 14:32:53 -04:00
Juho Teperi ad27cc9b3b Digitalocean provider (#171)
* Implement Digitalocean provider
* Vendor digitalocean lib
* Enable SRV for Digitalocean and fix the tests
* Test cname etc. records pointing to the same domain
2017-08-10 13:31:20 -07:00
Craig Peterson 40e21e7763 Update README.md 2017-08-01 09:17:11 -04:00
Tom Limoncelli e5d16a763f fixup! 2017-07-27 21:25:00 -07:00
Tom Limoncelli 2c340a42c6 Add a link to the Google Group 2017-07-27 21:21:36 -07:00
Craig Peterson f23e67daf7 Create README.md 2017-06-12 11:35:34 -04:00
Tom Limoncelli 406ded5baf getting-started.md: Add advice about migrating old zones. (#79)
* migrating.md: Detailed description of the process
2017-04-13 12:46:47 -04:00
Igor Vuk eb3c1ab00f Fix a typo in README.md (#60) 2017-03-26 14:37:04 -06:00
Anthony Eden 4fef4a8550 DNSimple provider (#43)
* Implement a basic DNSimple provider.

Handles domain delegation as well as record create, update, and delete.

Note that this is completely untested at the moment. It’s so alpha it might burn your face off.

* Add some inline comments. Always use the StackExchange libs.

* Clean up dnsimple docs a little

* This will need to be changed before merging.

* Import the dnsimple dnscontrol package from its expected path

* Properly build the FQDN and implement record listing so create/update/delete are used correctly.

* Add support for overriding base URL to allow connection to sandbox.

* Vendor dnsimple-go and its dependencies.

* Remove unnecessary doc file.

* Use dnsutil.AddOrigin for combining record name and origin.

* Modifying dnsimple provider to pass tests
2017-03-18 19:58:47 -06:00
Bob Florian 51cf29a0e4 Update README.md (#41)
Fixed typo
2017-03-14 17:38:41 -07:00
Nick Craver 3f4a1a3ccf Give BIND some respect. 2017-03-14 20:21:48 -04:00
Nick Craver aab614fee3 README love 2017-03-14 20:20:56 -04:00
Nick Craver e868e44f1d Syntax highlighting on README 2017-03-14 20:07:40 -04:00