1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00
Commit Graph

1138 Commits

Author SHA1 Message Date
07917006bb Gracefully skip tests if the secrets are not available (#977)
* Sort provider lists and add comments to explain sorting
* Skip tests we can not run
* Add INWX
2020-11-29 06:04:22 -05:00
8ba081f06a POWERDNS: Fix documentation: config keys use camel case (#962)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-11-28 15:43:13 -05:00
533bf5783d HETZNER: Allow TXTMulti (#963)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-11-28 15:40:43 -05:00
e29f7440f5 INWX: Guard against single-quote TXT targets (#971)
* INWX: split out and disable TXT with single-quote test
* INWX: add check for single-quotes in TXT records
2020-11-28 15:38:58 -05:00
d6b191bae4 CLOUDFLARE: get-zones now outputs "orange cloud" status (#952)
* CLOUDFLARE: get-zones now outputs "orange cloud" status
2020-11-24 10:30:21 -05:00
6fe4ca6996 Document TXT AUTOSPLIT (#957)
* Document TXT AUTOSPLIT

* Update docs/_functions/domain/TXT.md

Co-authored-by: Jakob Ackermann <das7pad@outlook.com>

Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2020-11-22 09:16:56 -05:00
f30610065c DOCS: Update install instructions (#951) 2020-11-18 16:15:18 -05:00
142b00b5ac update integration tests section in release engineering doc (#950)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-11-18 09:41:55 -05:00
db6ad08f5e GCLOUD: Retry on ratelimit (#946)
* Add exponential delay retry on 429, 503; and single retry on 404s.
2020-11-18 09:06:45 -05:00
1f471a15b9 DIGITALOCEAN: Support TXTMulti with caveats (#949)
* DIGITALOCEAN: Support TXTMulti with caveats
* go get github.com/digitalocean/godo
* DIGITALOCEAN: Enable CI tests
2020-11-18 08:22:31 -05:00
13a1360779 TXT records should check length at check/preview time (#947)
* TXT records should check length
* Add validation to TXT generator
* Split and validate long TXT targets
* Add a metaparameter to TXT records to indicate autosplit is requested.
* SPF_BUILDER marks TXT records as needing to be autosplit.
* Validate should check for overly-long TXT targets
2020-11-18 07:05:26 -05:00
550fa436ed HETZNER: better rate limit handling (#936)
* HETZNER: better rate limit handling

- Hetzner is using a Proxy service 'kong' which broadcasts it limits
- honor 'Retry-After' of 429 responses
- delay requests per-se: see the amended docs for details

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

* HETZNER: apply review feedback: store quotaName as lower case

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

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-11-16 12:26:52 -05:00
18c026d7d9 DOCS: Fix golint and vendoring notes (#948) 2020-11-15 14:47:52 -05:00
7db3741bc7 MAINTENANCE: Unknown rtypes should return errors, not a panic (#945)
* Eliminate panics related to unknown rtypes
2020-11-13 16:32:40 -05:00
654bb9cfeb GCLOUD: Don't panic() on unknown domain name (#944)
* GCLOUD: Dont panic on unknown domains
2020-11-13 13:12:36 -05:00
184131b1e3 AZURE_DNS: Remove artificial delays (#943)
* AZURE_DNS: Remove artificial delays
* CloudflareAPI is too slow for all tests
2020-11-13 12:21:13 -05:00
d759b7b4da Document: CLI variables (#918)
* Initial version of CLI variables doc

* Add example based on comments

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-11-13 12:18:38 -05:00
0ef6ce2b40 HEXONET: Add GHA tests. Update docs. (#942) 2020-11-13 10:32:32 -05:00
9f323e70d1 DOCS: Add pkg.go.dev badge (#939) 2020-11-12 11:22:19 -05:00
ba08e718b7 DIGITALOCEAN: Abide by rate limits (#934)
* Implement exponential back-off
2020-11-12 10:53:44 -05:00
724d5ff6c7 ROUTE53: Fix R53_ALIAS creation failure (#938)
Fixes https://github.com/StackExchange/dnscontrol/issues/937

* Add integration test to repro https://github.com/StackExchange/dnscontrol/issues/937
* Reformat integration tests to be more readable.
* ROUTE53: Create CNAME/R53_ALIAS in best order
* Each R53_ALIAS_* should be its own change, not combined.
* Refactor and simplify (omg it has gotten ugly)
2020-11-12 00:30:40 -05:00
50d5cbce25 Update build status badge to GH Actions workflow (#933) 2020-11-06 18:45:06 -05:00
f920078c0f Integration tests: add Digital Ocean, Gandi V5 (#932) 2020-11-06 12:56:07 -05:00
df0f47b52c Run integration tests for additional DNS providers (#930) 2020-11-05 08:55:20 -05:00
866232e0fb Run integration tests as part of build checks (#928) 2020-11-03 07:53:59 -05:00
d219941059 Run unit tests as part of build checks (#927) 2020-11-02 08:42:33 -05:00
ab47e92cbf HETZNER: fix retry of POST/PUT requests -- rebuild request body (#926)
Previously for any retry the request body was already consumed and
 the server received an empty body.

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

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-11-01 19:34:10 -05:00
152fa95031 HETZNER: create and modify multiple records in batches (#925)
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-11-01 19:30:16 -05:00
61bf50d4d7 Build & attach release assets automatically (#789) 2020-11-01 13:37:38 -05:00
2792c28f6d Run build checks on PRs targeting master branch (#922) 2020-11-01 13:20:18 -05:00
80c81b990a TESTING: Fix broken test 2020-10-30 12:04:41 -04:00
d7601b4fe8 NEW: .editorconfig (#921) 2020-10-29 13:38:15 -04:00
bb6aecc9ad Build broke on Windows (#920) 2020-10-29 13:36:47 -04:00
512aa7d4b3 NEW FEATURE: Set JS variables from command line (#913)
* Add ability to specify variables that are passed to js

* Use SplitN to respect a = in value part

* Add JSON parsing for cli variables

* Remove JSON parsing for cli variables

* Add a function to set CLI defaults

* Update static.go
2020-10-27 10:43:00 -04:00
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
ca30c9c34f Rename provider handles to *Provider (#914) 2020-10-26 09:25:30 -04:00
29c7ff3a05 Fix #910 (#912)
@patschi Thanks you for the speedy fix!  (and thank you for knowing Javascript!)
2020-10-25 13:29:25 -04:00
d56a8307f3 Be more consistent in API handle variable names (#911) 2020-10-25 12:58:43 -04:00
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
3a2b1b2f7b Internal: deps updates and linting (#905)
* Update dependencies
* writing-providers.md: Update for Go Mod, etc.
* Linting pkg/version
* s/CloudflareAPI/api/g
* s/ApiKey/APIKey/g
* s/ApiToken/APIToken/g
* s/ApiUser/APIUser/g
2020-10-18 14:04:50 -04:00
ac3ee9afea Release v3.4.2 2020-10-12 12:55:43 -04:00
c899706309 Fix version 2020-10-12 12:55:10 -04:00
c1e7b36b01 Release v3.4.1 2020-10-12 12:54:40 -04:00
b77cfa2b84 DOCS: fix release-engineering.md 2020-10-12 12:14:19 -04:00
a07a8cc731 Release v3.4.0 2020-10-12 12:13:07 -04:00
8764f77e66 DOCS: Update for vendor-less builds 2020-10-12 12:11:54 -04:00
a7964652d8 go get -u github.com/aws/aws-sdk-go github.com/miekg/dns golang.org/x/net 2020-10-12 12:08:43 -04:00
7acf8427f1 go generate 2020-10-12 11:54:18 -04:00
da1cbad4ec HEXONET: Implement get-zones, fix module problem (#898)
* VULTR: Update govultr to v1.0.0 (fixes #892) (#897)

* go get -u github.com/hexonet/go-sdk

* Fix HEXONET providers.json entry

* providers.json: json commma

* providers.json: fmtjson

* HEXONET: Implement get-zones. Fix tests and docs.

* fixup!

* Update azure test failures

* Move version info into its own package

* Use new version system
2020-10-12 11:45:44 -04:00
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