* Added basic structure for domain name shop
* Finished proof of concept for domainnameshop
* Fixed handeling of IDNA for CNAME records
* Updated documentation notes
* Added docs
* Ran linter and vet
* Removed proxy config used for debugging
* Ran go generate
* Fixed issue with TTLs being restricted to a multiple of 60
* Ran tests, vet and linting and fixed flaws
* Fixed typo in docs
* Improved code based on feedback
* Fixed issues with TXT records not working properly
* Refactored according to new file layout proposed
* Updated documentation matrix
* Suggestions and corrections
* Corrected according to suggestions
Co-authored-by: Simen Bai <git@simenbai.no>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
* Update maintainers for Route53 and Cloudflare
I'm happy to take these two over in addition to EasyName.
* Missed a volunteer request reference
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
* Replace Jekyll highlight tags with fenced code blocks
Replace Jekyll highlight tags with fenced code blocks.
Canonicalize javascript to js.
Correct highlighting languages.
Add highlighting to code blocks.
Remove leading $ from bash blocks.
Remove empty lines at start and end of code blocks.
Stripped trailing whitespace.
* Fix language of code highlighting
* Initial support for easyname as registrar
* DRY
Moving a bunch of the HTTP stuff into a single function for cleanliness and ease of future maintianence.
* Seperate API and Provider logic
* Updating error messages and sorting found nameservers
* Adding provider info to OWNERS and README
This also moves a few of the not-actually-DNS Providers to their own section.
* Update README.md
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
* 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>
* 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>
* 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>
* 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
* 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
* 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