Commit graph

638 commits

Author SHA1 Message Date
Patrick Gaskin c0a68fae4f Regenerate provider support matrix (fixes #592) (#599)
Also see #595.
2020-01-24 17:20:41 -05:00
Juho Teperi bfa36ebbf8 DIGITALOCEAN: CAA is supported with some caveats (#592)
Change the tests to skip test case with CAA `;` value for Digitalocean,
because that specific feature isn't supported.

Closes #588
2020-01-24 12:21:01 -05:00
Tom Limoncelli d3dc5a5eb7
Integration test: Add test for TXT with null string (#597) 2020-01-24 12:10:27 -05:00
Anton Yurchenko 262acdd3d8 get-certs: DNS01 challenge skipping preCheckDNS (#591) 2020-01-23 17:54:07 -05:00
Tom Limoncelli 28d650207b
Improve Lets Encrypt docs (#594)
* Mention certbot
* Link to get-certs.md from the main page
* Rename lets-encrypt.md -> get-certs.md
2020-01-23 17:49:43 -05:00
Tom Limoncelli 9857a320a2 Update get-certs docs 2020-01-23 17:42:12 -05:00
Tom Limoncelli f6ce421fdd
NEW PROVIDER: GANDI_V5 (deprecates GANDI) (#572)
* GANDI_v5: Add Registrar support
* Add GANDI deprecation warning
* vendor github.com/tiramiseb/go-gandi
2020-01-20 14:13:32 -05:00
Tom Limoncelli 2c6878237e go generate 2020-01-20 14:08:09 -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
Tom Limoncelli 16d0043cce
Switch from govendor to go modules. (#587)
Thanks to @BenoitKnecht for leading the way on this.
2020-01-18 14:40:28 -05:00
Will Power 31188c3a70 ROUTE53: Document Minimum access policy learned from #548 (#586) 2020-01-18 13:31:10 -05:00
Anton Yurchenko 35e37ff91f Use ns1.example.com, not ns1.otherdomain.tld, in integration tests 2020-01-14 18:19:53 -05:00
Tom Limoncelli 2c0361b0d5
BUG: Correctly spell Cabability (#582) 2020-01-12 11:24:10 -05:00
mm 7df73b187c ROUTE53: Messages don't display correctly in big batch mode (#580)
* fixed description for paginated r53 updates

Signed-off-by: marco.messerschmidt <marco.messerschmidt@zalando.de>

* fixed description for paginated r53 updates

Signed-off-by: marco.messerschmidt <marco.messerschmidt@zalando.de>

* Update route53Provider.go

reset batch site
2020-01-10 08:47:20 -05:00
Craig Peterson fcfef4f501 Set Up Choco CI
[skip ci]
2020-01-09 11:46:31 -05:00
Craig Peterson d16de32154
ignore nupkgs 2020-01-09 11:44:53 -05:00
Craig Peterson 6ae19ad4e3
add chocolatey spec 2020-01-09 11:36:52 -05:00
Craig Peterson ed48fc6dec
bump version to 2.10.0 for semver compliance 2020-01-09 11:29:11 -05:00
Craig Peterson 88769d51b7
bump version to 2.10 2020-01-02 16:09:19 -05:00
Tom Limoncelli 2860a8e4ec
FIx newline (#571)
* add gandi to integration tests

* add gandilive too

* reference correct secrets

* add ns1 too

* add DNSIMPLE

* disable failing ones for now

Co-authored-by: Craig Peterson <192540+captncraig@users.noreply.github.com>
2019-12-19 17:07:16 -05:00
Stefan Huber f1572c4b11 Docker container now includes the convertzone utility (#570) 2019-12-17 11:24:49 -05:00
Tom Limoncelli eed8e43fbd CLOUDFLARE: Integration tests should use API Token, not user/key (#557)
* providers/cloudflare: Support API tokens

Cloudflare API tokens are a new way to authenticate to Cloudflare API.
Unlike the Global API key, tokens can be given specific permissions to
only access parts of the API. See [1] for details.

[1] https://blog.cloudflare.com/api-tokens-general-availability/

This commit introduces a new credential for cloudflare called
`apitoken`, which is mutually exclusive with `apiuser` and `apikey`.

In order for DNSControl to work with this token, it should have the
right to read DNS zones and edit DNS records.

Closes #534

* CLOUDFLARE: Update integration tests for api token
2019-12-09 14:04:52 -05:00
Craig Peterson 61c926d5a4 Update integration.yml for Azure Pipelines 2019-12-09 14:04:12 -05:00
Vatsalya Goel df3adef5ec Do some cleanup for AzureDNS code (#551) 2019-12-09 13:51:23 -05:00
Hugo Barros 0f396cd135 ROUTE53: Add AWS_PROFILE functionality (#567)
* Add AWS_PROFILE functionality for Route53 provider

* Document named profiles authentication option for Route53
2019-12-04 10:17:28 -05:00
wsuff b928e7c22f Fix typo in invalid cert name error message (#565)
BUG: validateCertificateList error message has valid spelled wrong.
2019-11-22 08:30:57 -05:00
Patrick Gaskin af4f2464e2 VULTR: Updated govultr to v0.1.7 (#564) 2019-11-14 16:22:37 -05:00
Patrick Gaskin 70ce16ff23 Fix handling of SRV records with no target (indicated by ".")
According to the RFC, the way to indicate that a SRV has no target is to set the target to ".".  Some providers do not handle this, or the API returns "" instead of ".".  This situation is now tested in the integration tests and all providers (that support this) have been fixed.



* Cloudflare: Fix decoding empty SRV target (fixes #561)

SRV records with empty (".") targets are now returned as false by
the API, which breaks Unmarshaling it into a string.

* Use custom type for Cloudflare SRV target

Rewrote the SRV target decoding to use a custom type for (un)marshaling, as
Cloudflare returns false for null targets, but it requires a single period
for giving it one. The target code has also been made more flexible to future
API changes with additional normalization.

This has been tested with record creation, deletion, and update and works
as of 2019-11-05.

* DigitalOcean: Fix target FQDN for null targets

Without this, dnscontrol thinks an update is needed (.. != .) even
when the SRV target is correct.

* DNSimple: Fix parsing of null SRV target

DNSimple only returns two fields when the target is null.

* NameDotCom: Add note about not supporting null SRV targets, skip test

* DNSimple: Do not append a . unless we have all three parts

Signed-off-by: Amelia Aronsohn <squirrel@wearing.black>

* Regenerated provider matrix
2019-11-14 11:25:20 -05:00
Mark Henderson d48009a621 DOCUMENTATION: Azure DNS dual host support is limited (#560) 2019-10-31 09:44:42 -04:00
Benoît Knecht 1b9780495d DOCUMENTATION: Fix small typo in Cloudflare (#556)
Remove trailing "rather" at the end of a sentence.
2019-10-23 13:27:04 -04:00
Benoît Knecht 4e6d05b716 CLOUDFLARE: Support API tokens (#555)
Cloudflare API tokens are a new way to authenticate to Cloudflare API.
Unlike the Global API key, tokens can be given specific permissions to
only access parts of the API. See [1] for details.

[1] https://blog.cloudflare.com/api-tokens-general-availability/

This commit introduces a new credential for cloudflare called
`apitoken`, which is mutually exclusive with `apiuser` and `apikey`.

In order for DNSControl to work with this token, it should have the
right to read DNS zones and edit DNS records.

Closes #534
2019-10-23 11:48:00 -04:00
Craig Peterson 96583a9188 make test more chaotic (still passes) 2019-10-09 09:54:40 -04:00
Craig Peterson 2f41bf007f pull out records with identical content first. Saves from ordering issues. 2019-10-09 09:54:40 -04:00
Craig Peterson 33ecf81431 failing test for #552 2019-10-09 09:54:40 -04:00
Vatsalya Goel 443401d2a7 Upgrade go version to 1.13 (#550)
Sustained Engineering
2019-10-05 10:45:57 -04: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
rdalverny 79c548b168 GANDI-LIVEDNS: Support for multi TXT records verified (#545)
It seems it does support them.
2019-08-26 14:07:02 -04:00
rdalverny b968de3ef7 GANDI-LIVE: Print actual changes to be pushed (#546)
* gandi/livedns: Print actual changes to be pushed

Currently, preview & push output prints all domain records values:

    $ dnscontrol preview
    ----- DNS Provider: gandi...1 correction
    #1: Setting dns records for example.com:
    mail.example.com.
    1.2.3.4
    "ga"
    "bu"
    "zo"

With this change, it would only show what changes from current state:

    $ dnscontrol preview
    ----- DNS Provider: gandi...1 correction
    #1: Setting dns records for example.com:
    CREATE TXT ga.example.com "ga" ttl=10800
    MODIFY TXT bu.example.com "bu" ttl=10800
    DELETE TXT meu.example.com "meu" ttl=10800

* Add import
2019-08-26 13:38:07 -04:00
Craig Peterson 2ee086d41c
switch to new go-acme imports from xenolf. Fix api changes (#540)
* switch to new go-acme imports from xenolf. Fix api changes

* update many vault related dependencies
2019-07-29 10:54:32 -04:00
Patrick Gaskin cafd4d387a vultr: Added support for SSHFP records (#531) 2019-07-15 12:28:37 -04:00
Patrick Gaskin 0f0cee75b4 vendor: Removed unused dependencies (#530) 2019-07-15 11:59:58 -04:00
Craig Peterson 0c4f4bf754
Add gandi and others to integration tests (#518)
* add gandi to integration tests

* add gandilive too

* reference correct secrets

* add ns1 too

* add DNSIMPLE

* disable failing ones for now
2019-07-15 11:50:34 -04:00
Patrick Gaskin 44a7ba5711 Switch to official Vultr API library (#529)
* vultr: Switched to official API library (closes #528)

* vultr: Renamed vultr.VultrApi to vultr.Provider

* vendor: Updated govultr
2019-07-15 10:31:55 -04:00
Craig Peterson a138b12ec2
add vultr to integration suite (#532) 2019-07-15 09:56:06 -04:00
Tom Limoncelli 1940ff4ac1 govendor: Update 6 GCLOUD dependencies (#525)
* govendor: Update github.com/golang/protobuf

* govendor: Update github.com/gobwas/glob github.com/google/go-github

* govendor: Update 3 github.com/robertkrimen/otto

* govendor: Update 4 golang.org/x

golang.org/x/crypto
golang.org/x/net
golang.org/x/sys
golang.org/x/text
golang.org/x/time
golang.org/x/crypto

* govendor: Update 5 github.com/aws/aws-sdk-go

* govendor: Update 6 GCLOUD dependencies
2019-07-08 10:09:06 -04:00
Tom Limoncelli 746fe9b3bb govendor: Update 5 github.com/aws/aws-sdk-go (#524)
* govendor: Update github.com/golang/protobuf

* govendor: Update github.com/gobwas/glob github.com/google/go-github

* govendor: Update 3 github.com/robertkrimen/otto

* govendor: Update 4 golang.org/x

golang.org/x/crypto
golang.org/x/net
golang.org/x/sys
golang.org/x/text
golang.org/x/time
golang.org/x/crypto

* govendor: Update 5 github.com/aws/aws-sdk-go
2019-07-08 09:51:46 -04:00
Tom Limoncelli 97934bd87c govendor: Update 3 github.com/robertkrimen/otto (#522)
* govendor: Update github.com/golang/protobuf

* govendor: Update github.com/gobwas/glob github.com/google/go-github

* govendor: Update 3 github.com/robertkrimen/otto
2019-07-08 09:51:34 -04:00
Tom Limoncelli bfdb05e110 govendor: Update 2 github.com/gobwas/glob github.com/google/go-github (#521)
* govendor: Update github.com/golang/protobuf

* govendor: Update github.com/gobwas/glob github.com/google/go-github
2019-07-08 09:51:18 -04:00
Tom Limoncelli fe341ef9ee govendor: Update github.com/golang/protobuf (#520) 2019-07-08 09:51:05 -04:00
Tom Limoncelli 5ee3b206f5 govendor: Update 4 golang.org/x (#523)
* govendor: Update github.com/golang/protobuf

* govendor: Update github.com/gobwas/glob github.com/google/go-github

* govendor: Update 3 github.com/robertkrimen/otto

* govendor: Update 4 golang.org/x

golang.org/x/crypto
golang.org/x/net
golang.org/x/sys
golang.org/x/text
golang.org/x/time
golang.org/x/crypto
2019-07-08 09:50:47 -04:00