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

356 Commits

Author SHA1 Message Date
d7f40ed680 Implement DS record support for ClouDNS (#1018)
* Add PTR support for ClouDNS

* Implement PTR Support for CLouDNS

* implemnent DS Record for ClouDNS

* implement DS record for clouDNS

* pull request review

* note that SshFpAlgorithm and DsAlgorithm both use json field algorithm

* primitive rate limit and fix order of NS/DS-entries

* codefixes

Co-authored-by: IT-Sumpfling <it-sumpfling@maxit-con.de>
Co-authored-by: bentaybi jamal <jamal@pfalzcloud.de>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-01-22 12:54:39 -05:00
c017df5982 go generate 2021-01-20 13:47:30 -05:00
6efedd689d New feature: FETCH() permits http gets in dnsconfig.js (#1007)
add PANIC() and error-handled FETCH()
2021-01-06 10:45:32 -05:00
80fb4282e9 Fix typo (#1014) 2021-01-05 21:18:07 -05:00
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
ec60b0afc0 Automate releng a bit more (#1006) 2020-12-26 10:05:46 -05:00
18d99fd30f Add .gitattributes file and fix line endings to match. (#1004)
* NEW: .gitattributes
* Fix line endings
* Fix File Endings
2020-12-25 10:18:01 -05:00
e9f4257ad2 CLOUDNS: Implement PTR Record Support (#999)
* Add PTR support for ClouDNS

* Implement PTR Support for CLouDNS

Co-authored-by: IT-Sumpfling <it-sumpfling@maxit-con.de>
Co-authored-by: bentaybi jamal <jamal@pfalzcloud.de>
2020-12-22 13:32:00 -05:00
6443a31ca8 Fix REV and PTR (#979)
* Fix REV and PTR
2020-12-03 08:33:37 -05:00
12a3354c0c Enable Bring-Your-Own-Secrets (#982)
* Move env from steps to job
* Rename env to be predictable.
* fix conditional
* document B.O.Y.S.
* Update docs/byo-secrets.md

Co-authored-by: Max Horstmann <MaxHorstmann@users.noreply.github.com>

* respond to reviews
* fixup!

Co-authored-by: Max Horstmann <MaxHorstmann@users.noreply.github.com>
2020-11-29 14:15:40 -05:00
f81260ba71 INWX: enable multi txt support (#981)
* INWX: enable MultiTXT support

* run go generate to update docs
2020-11-29 13:54:34 -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
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
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
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
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
61bf50d4d7 Build & attach release assets automatically (#789) 2020-11-01 13:37:38 -05: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
c899706309 Fix version 2020-10-12 12:55:10 -04:00
b77cfa2b84 DOCS: fix release-engineering.md 2020-10-12 12:14:19 -04:00
8764f77e66 DOCS: Update for vendor-less builds 2020-10-12 12:11:54 -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
d27e9d3eb7 DOCS: Add info about R53 dotless CNAME bug (#901) 2020-10-10 09:02:31 -04:00
e92717fc77 DOCS: fix jsId for Netcup Provider (#900)
According usage example jsId should be all uppercase
2020-10-09 07:50:35 -04:00
51b3a5ee0b Remove bug report from doc 2020-10-07 16:27:38 -04:00
a81a2e36ce Note bug #886 (#887)
* Note bug #886
2020-10-07 14:30:10 -04:00
b275286dae Add D_EXTEND (#885) (thanks to @ad8-bdl!)
* fix get-zones code block indentation

* extend D_EXTEND to handle subdomains

* fix targets: make absolute incl. subdomain where necessary

* clarify subdomain target test (not IP && not fqdn)

* Add parse_tests for D and D_EXTEND

* _getDomainObject: examine all domains

* human readable form

* consistent test IP addresses

* Improve docs and formatting

* propagate subdomain to canonicalisation

* en-US spelling

* rm extraneous console.log

* ignore subdomain for CF_REDIRECT

* clarify D_EXTEND doc re. CF_REDIRECT

* rm extraneous linebreak

* _getDomainObject: examine all domains

* human readable form

* consistent test IP addresses

* propagate subdomain to canonicalisation

* en-US spelling

* rm extraneous console.log

* ignore subdomain for CF_REDIRECT

* clarify D_EXTEND doc re. CF_REDIRECT

* rm extraneous linebreak

* GANDI_V5: Use github.com/go-gandi/go-gandi, not github.com/tiramiseb/go-gandi (#883)

* DOCUMENTATION: Fix error in CNAME.md (#877)

The current example `CNAME("def", "test.subdomain"), // def.example.com -> test.subdomain.example.com` is invalid (correctly raises a validation error, "ERROR: in CNAME def.example.com: target (test.subdomain) must end with a (.)")

* typos, fmt; example syntax fixes and real output

* formatting; re-add lost comment

* RecordConfig subdomain should be nullable

* providers/cscglobal/api.go: Fix fmt string

* More tests and docs

* go generate

Co-authored-by: Ben L <47653825+ad8-bdl@users.noreply.github.com>
2020-10-07 14:27:33 -04:00
Ben
7d2016a970 DOCUMENTATION: Fix error in CNAME.md (#877)
The current example `CNAME("def", "test.subdomain"), // def.example.com -> test.subdomain.example.com` is invalid (correctly raises a validation error, "ERROR: in CNAME def.example.com: target (test.subdomain) must end with a (.)")
2020-10-02 14:15:35 -04:00
f082ad36c8 AUTODNSSEC -> AUTODNSSEC_ON (#863)
* AUTODNSSEC -> AUTODNSSEC_ON
* Validate AutoDNSSEC values
* AUTODNSSEC now generates a warning and does nothing.
2020-09-27 16:37:42 -04:00
194aa09158 Clean up from Tom's git mistakes (#869)
* Better error messages

* go generate
2020-09-21 09:47:02 -04:00
9ad742fc22 INWX: Support creating domains (#855)
* Support create-domains for INWX

* Use own function to decide which NS to use when sandbox

* Updated docs via go generate

* Move domainIndex into inwxAPI struct

* Changed getDefaultNameservers() IF

* Make Tom happy

* Updated docs via go generate
2020-09-21 09:27:50 -04:00
ea8068996e DOCS: Better document nameserver scenarios (#868) 2020-09-21 09:26:24 -04:00
c44d9a43f5 INWX: add additional documentation about 2FA (#865) 2020-09-20 09:53:58 -04:00
9818eb1fca New Registrar: CSC Global (#827)
* CSC Global Registrar provider

* better error handling. Coding standards.

* Just return the error
2020-09-07 12:00:21 -04:00
75fcc4751e DNSOVERHTTPS: Add DNSOVERHTTPS to docs (#844) 2020-09-04 11:51:21 -04:00
d6f3f401a5 NEW PROVIDER: DOH: Read-only Registrar that validates NS records (#840) 2020-09-04 10:22:41 -04:00
faac40cbf4 Docs: Add a page about macros and loops (#832) 2020-09-04 10:17:38 -04:00
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
614a1958c4 Cleanup: user geek1011 is now pgaskin (#823) 2020-08-24 17:27:53 -04:00
44e382e117 Revert "Cleanup: user geek1011 is now pgaskin"
This reverts commit 84f2daea2589b290d806e7ae109fffbcd631333f.
2020-08-24 11:53:03 -04:00
84f2daea25 Cleanup: user geek1011 is now pgaskin 2020-08-24 11:50:30 -04:00
576c2bd582 New feature: require_glob() (similar to require() but supports globs) (#804)
* Initial implementation of findFiles/globe/glob

* Fixed path, some small improvements

* filepath.Dir() calls Clean() automatically anyway

* Relative path support (like require()), renamed func

* Check file ext prefix, further comments, var renaming

* Updated static.go after merge

* Added doc for glob()

* Tiny adjustment of description of glob()

* Updated docs for possible pattern

* Reworked glob, added public-facing require_glob()

* Updated docs with examples

* Updated static.go

* go generate
2020-08-19 14:00:40 -04:00
960dc66bd2 New feature: IGNORE_TARGET. Rename INGORE to IGNORE_NAME (#806) 2020-08-18 11:14:34 -04:00
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