Commit graph

448 commits

Author SHA1 Message Date
Jan-Philipp Benecke cfa104858d
FEATURE: --creds can refer to a command line to execute in addition to a file or script (#1521)
* Allow commands for creds file & refactoring

* Minor fix

* Add shell command ability to docs

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-06-06 14:37:45 -04:00
Riyadh Al Nur 6c1ba6e70b
GCLOUD: Welcome riyadhalnur as the new owner for GCLOUD (#1525)
Signed-off-by: Riyadh Al Nur <riyadhalnur@verticalaxisbd.com>
2022-06-03 10:08:48 -04:00
Tom Limoncelli 2768c34dc2
DOH: Clarify DOH does not reference whois data (#1413)
* DOH: Clarify DOH does not reference whois data

Fixes https://github.com/StackExchange/dnscontrol/issues/1402

* Documentation: Customizing nameservers for hosting.de provider (#1396)
2022-05-08 14:55:36 -04:00
Tom Limoncelli 533eabedf5
Update docs for the "plan a" change (#1499)
* Update docs
2022-05-08 14:41:33 -04:00
Tom Limoncelli 9e6d642e35
NEW FEATURE: Moving provider TYPE from dnsconfig.js to creds.json (#1500)
Fixes https://github.com/StackExchange/dnscontrol/issues/1457

* New-style creds.json implememented backwards compatible

* Update tests

* Update docs

* Assume new-style TYPE
2022-05-08 14:23:45 -04:00
Brian Hartvigsen bbecce74bd
DOCS: Update maintainers for Route53 and Cloudflare (#1501)
* 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>
2022-05-08 13:40:36 -04:00
Tom Limoncelli 67baad392d
GANDI_V5: Fix DS test / Eliminate SHA1 use in DS_Child tests (#1502) 2022-05-08 13:21:47 -04:00
Costas Drogos 6042d07944
DOCS: fix a forgotten "VOLUNTEER NEEDED" (#1488) 2022-04-29 15:06:39 -04:00
Tom Limoncelli 17feddb157
go generate (#1479) 2022-04-04 14:55:35 -04:00
2e16f7b142
AUTODNS: Fix autodns documentation example javascript. (#1470) 2022-03-31 17:09:06 -04:00
Tom Limoncelli 73de17adc2 Revert "_PROVIDER flag phase 1: generate warnings"
This reverts commit 26c632e05f.
2022-03-27 15:56:57 -04:00
Tom Limoncelli 26c632e05f _PROVIDER flag phase 1: generate warnings 2022-03-27 15:54:16 -04:00
arnoschoon caedb9a7a6
NEW PROVIDER: AutoDNS (#1336)
* Implement AutoDNS provider to manage existing zones

* Moved AuditRecords() in to separate file to ease automatic updating

* S1011 - Use a single append to concatenate two slices

* Set list of available record types as returned by the system

* Fixed style, clarify code and add some extra comments

* Documented simple configuration and usage example of AutoDNS

* Convert MX and SRV record properly from string to actual structs and back

* Add support for integration tests of AutoDNS

* Return error message from update request instead of invoking panic()

* Skip AUTODNS in test for RFC 7505 (null MX)

* Update providers/autodns/autoDnsProvider.go

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-25 15:22:59 -04:00
Koen Vlaswinkel 02d76affc0
LINODE: Add support for CAA records and implement get-zones (#1454)
* LINODE: Add support for CAA records

* LINODE: Implement get-zones

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-25 15:22:20 -04:00
Tom Limoncelli ffe21c6e6d
creds.json should not be executable under Windows (#1456)
* Skip CAA flag test for LINODE

* Require go 1.18

* Update CCI to use go 1.18

* go mod tidy

* working

* Update creds.json docs

* go generate
2022-03-25 15:20:30 -04:00
Tom Limoncelli 52a8964564
LINODE: Skip CAA flag test (#1455)
* Skip CAA flag test for LINODE

* Require go 1.18

* Update CCI to use go 1.18

* go mod tidy

* HEXONET: Adapt to new OTE endpoint (#1463)

* HEXONET: Adapt to new OTE endpoint

* CCI uses goreleaser which needs go 1.8

* HEXONET: Fix error format string (#1462)

Fixes https://github.com/StackExchange/dnscontrol/issues/1461

* MAINT: "DUPLICATE E_RECORD" no longer a hard error (#1465)

* go generate
2022-03-25 15:16:36 -04:00
Tom Limoncelli 9c7b84eefd
HEXONET: Adapt to new OTE endpoint (#1463)
* HEXONET: Adapt to new OTE endpoint

* CCI uses goreleaser which needs go 1.8
2022-03-24 12:53:42 -04:00
Tom Limoncelli cc6f5eb8d4
fixup! (#1441) 2022-03-04 09:42:36 -05:00
Julius Rickert 6f9e2797b7
DOCS: Fix examples in documentation (#1435)
* Add example include

* Replace example includes

* Remove old example includes
2022-03-04 07:49:03 -05:00
Tom Limoncelli 444b893e1b
MAINT: Sort various lists (#1433)
* maint: sort lists in build/generate/featureMatrix.go

* maint: sort lists in docs/byo-secrets.md

* maint: sort lists in models/record.go

* maint: sort lists in pkg/normalize/validate.go

* maint: sort lists in providers/activedir/activedirProvider.go

* maint: sort lists in providers/akamaiedgedns/akamaiEdgeDnsProvider.go

* maint: sort lists in providers/axfrddns/axfrddnsProvider.go

* maint: sort lists in providers/azuredns/azureDnsProvider.go

* maint: sort lists in providers/cloudflare/cloudflareProvider.go

* maint: sort lists in providers/cloudns/cloudnsProvider.go

* maint: sort lists in providers/desec/desecProvider.go

* maint: sort lists in providers/digitalocean/digitaloceanProvider.go

* maint: sort lists in providers/dnsimple/dnsimpleProvider.go

* maint: sort lists in providers/dnsmadeeasy/dnsMadeEasyProvider.go

* maint: sort lists in providers/exoscale/exoscaleProvider.go

* maint: sort lists in providers/gandiv5/gandi_v5Provider.go

* maint: sort lists in providers/hedns/hednsProvider.go

* maint: sort lists in providers/hetzner/hetznerProvider.go

* maint: sort lists in providers/hexonet/hexonetProvider.go

* maint: sort lists in providers/inwx/inwxProvider.go

* maint: sort lists in providers/linode/linodeProvider.go

* maint: sort lists in providers/namecheap/namecheapProvider.go

* maint: sort lists in providers/namedotcom/namedotcomProvider.go

* maint: sort lists in providers/netcup/netcupProvider.go

* maint: sort lists in providers/ns1/ns1Provider.go

* maint: sort lists in providers/octodns/octodnsProvider.go

* maint: sort lists in providers/oracle/oracleProvider.go

* maint: sort lists in providers/ovh/ovhProvider.go

* maint: sort lists in providers/packetframe/packetframeProvider.go

* maint: sort lists in providers/powerdns/powerdnsProvider.go

* maint: sort lists in providers/route53/route53Provider.go

* maint: sort lists in providers/vultr/vultrProvider.go

* Update go:build pragmas for windows

* More sorting

* go generate
2022-03-02 11:19:15 -05:00
tpdn fc75f89271
ClouDNS: Add CLOUDNS_WR (Web Redirects) (#1421)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-02 09:21:51 -05:00
Tom Limoncelli d9c4d391a9
MAINT: go generate (#1432) 2022-03-01 14:39:11 -05:00
Jeremy Schlatter bda4a1485b
DOCS: fix typo (#1419) 2022-02-24 08:45:30 -05:00
Julius Rickert d5665ceaf6
Documentation: Customizing nameservers for hosting.de provider (#1396)
* Add support for default nameservers

Uses provider metadata with default_ns key.

Fixes #1401.

* Fix formatting

* Add documentation on custom nameservers

* Rework hosting.de documentation

Separate usage with hosting.de and usage with compatible providers.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-02-22 10:54:02 -05:00
Julius Rickert 20dad35167
Replace Jekyll highlight tags with fenced code blocks (#1412)
* 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
2022-02-17 12:22:31 -05:00
Tom Limoncelli d904baa9c5
Clarify docker command for docs. (#1397)
* Clarify docker command for docs.
* README.md: Add comments.
* docs/_functions/domain/IGNORE_NAME.md: Fix broken YAML
2022-02-04 16:28:02 -05:00
Tom Limoncelli 98a951885e
DOCS: Add DOH example (#1393) 2022-02-02 12:28:07 -05:00
Tom Limoncelli 58eb60b761
DOCS: Fix formatting/rewrite docs/nameservers.md (#1391) 2022-02-02 11:52:16 -05:00
Tom Limoncelli d63ead640d
DOCS: Clarify nameserver examples (#1390) 2022-02-02 10:39:58 -05:00
Tom Limoncelli a3177ebb3d
MAINT: Update dependencies (#1388)
* MAINT: Update dependencies

* Increase CCI timeout because Cloudflare is so damn slow
2022-02-01 14:47:27 -05:00
Norman 263c6b7290
NS1: Enable get-zones (#1373)
Refactor code to get zones from NS1 API into GetZonesRecords function to
enable get-zones
2022-01-19 13:58:21 -05:00
Hampton ea20c13e67
NEW PROVIDER: Packetframe (#1347)
* Implement Packetframe provider

* Packetframe: Move to authorization and fix multiple TXT records

* AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)

* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AKAMAIEDGEDNS: fix staticcheck warnings/errors

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>

* PacketframeProvider minor cleanup

* Packetframe v4 moved to production

* Packetframe Provider: Finish the rest of provider steps

* Packetframe: Make stylistic changes, update nameservers, apikey -> token

Co-authored-by: Steven Vernick <78868407+svernick@users.noreply.github.com>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-05 12:09:46 -05:00
Tom Limoncelli 368be4e57a
DOCS: Improve docs/writing-providers.md wrt registrars and testing (#1366)
* DOCS: Improve docs/writing-providers.md wrt registars and testing
2022-01-05 10:27:07 -05:00
Tom Limoncelli 2f65533e1b
DOCUMENTATION: Clarify responsibilities of maintainers (#1364) 2022-01-04 15:51:40 -05:00
Tom Limoncelli 2dcc9b1c11
CLOUDFLARE: Clarify universal SSL docs (#1358)
* CLOUDFLARE: Clarify univ. SSL docs

* fixup!
2022-01-03 10:02:49 -05:00
Tom Limoncelli e063812a5f
MAINT: Update dependencies (#1361) 2022-01-03 10:02:21 -05:00
Ashish Kulkarni 24e7c7ef4b
fix CloudFlare documentation for CF_WORKER_ROUTE (#1351)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-29 12:07:55 -05:00
Steven Vernick 1f7889dbd3
AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)
* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AKAMAIEDGEDNS: fix staticcheck warnings/errors

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-23 15:16:37 -05:00
Tom Limoncelli 9f720d1084
CLEANUP: Skip DualProvider tests if Cannot(DocDualHost) (#1345)
* Skip DualProvider tests if Cannot(DocDualHost)
* go generate
* Fix HEXONET domain
2021-12-21 12:23:11 -05:00
Brice Figureau 9d9d299bb7
Fix #1338 - OVH provider should work when domain is not registered (#1340)
* Fix #1338 do not error if domain is not registered

OVH now allows to create zone without registering a domain. The ovh provider
was getting the NS from the registrar and not the zone, which doesn't work
in a scenario where only the zone exists at ovh.
This changeset makes the ovh provider fetch the NS from the registrar and if
there's none from the zone.

* OVH now supports all dual providers scenario

This change updates the OVH provider documentation accordingly.
2021-12-20 11:20:17 -05:00
Tom Limoncelli 14c3014a2e
DOCS: Improve cli-variables.md (#1328)
* DOCS: Rewrite cli-variables.md
2021-12-14 16:29:01 -05:00
Jaye Doepke 900d4042e8
ROUTE53: Adopt aws-sdk-go-v2 (#1321)
* Switch to aws-sdk-go-v2

AWS has released v2 of their SDK for Go.

See: https://aws.github.io/aws-sdk-go-v2/

One big advantage of this is no longer needing to export the
`AWS_SDK_LOAD_CONFIG=1` env var when using named profiles.

* Update integration test README

* Reenable pager601 and pager1201 integration tests for AWS Route53

* Implement intelligent batching for Route53 record changes

The AWS Route53 API for batch record changes limits the request size to
the smaller of:

- 1000 records.
- 32000 characters total for record values.

Also UPSERTs count as double (a DELETE and then a CREATE).

This commit changes how the record ChangeBatches are created to
respect these limits.

* Remove old comments

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-07 16:29:29 -05:00
Tom Limoncelli 215f6ed525
Release v3.13.0 (#1310)
* Remove length checking from TxtNoMultipleStrings

All functions in should test for only one condition. There already is a
function that tests for long TXT records: TxtNoLongStrings.
Add calls to TxtNoLongStrings in all providers that use
TxtNoMultipleStrings, to keep functionality, except for NS1 and ClouDNS,
which allow for any TXT record length, but not for multiple strings per
TXT.

* Release v3.13.0

* Release v3.13.0

Co-authored-by: Norman Stetter <norman.stetter@zeit.de>
2021-11-27 14:46:37 -05:00
F.D.Castel 0d12eb7dc6
CLOUDFLAREAPI: Adds CF_WORKER_ROUTE (#1243)
* CLOUDFLAREAPI: Adds CF_WORKER_ROUTE.

- CLOUDFLAREAPI: Initial support for CF_WORKER_ROUTE.
- Put CF_WORKER_ROUTE behind a per-domain feature-flag.
- Adds Integration Test.
- Create Cloudflare workers for tests.
- Updates documentation.

* Workaround for updateWorkerRoute causing stack overflow.

* Sets AccountID.

* Updates to latest master (Thanks @tresni!).

* Removes $CLOUDFLAREAPI_ACCOUNTNAME.

* Add alltrue() filter and -cfworkers flag

* Final workers changes

* alltrue() should be implemented like other filters.
* Update documentation.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-11 16:04:49 -04:00
Brian Hartvigsen 156c684be6
Initial support for easyname as registrar (#1277)
* 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>
2021-10-04 13:01:38 -04:00
Brian Hartvigsen d08a8f6c4e
CLOUDFLARE: Stop requiring accountname (#1280)
There is no API call I've found that requires it, only the accountID.  Also, we now set the cfClient.AccountID similar to b55278140f (h/t @fdcastel) and no longer store duplicate information in the cfClient and api objects.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-03 16:40:50 -04:00
Tom Limoncelli e7c4494825
improve releng docs (#1253) 2021-10-03 15:41:46 -04:00
Josh J c33c5956a9
docs: add clarity around named profiles (#1262)
Specifically that creds.json is now required for versions >3.8.0 when using named profiles, as well as the environment variables.
2021-09-23 11:12:55 -04:00
Vincent Hagen 8c5db2e11c
Add R53_ZONE as an domain identifier (#1241)
Using R53_ZONE allows you to differentiate between split horizon
domains across zones.
2021-09-02 16:54:54 -04:00
Tom Limoncelli 3fa5712232
NEW MACROS: DOMAIN_ELSEWHERE and DOMAIN_ELSEWHERE_AUTO (#1237)
* NEW MACROS: DOMAIN_ELSEWHERE and DOMAIN_ELSEWHERE_AUTO
* Finish docs
2021-09-02 15:41:22 -04:00