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

204 Commits

Author SHA1 Message Date
6e8d5b59ab Fixed issues from go vet (#605)
* CloudFlare provider is missing quotes on a JSON struct tag.
* ACME package has a unnecessary JSON struct tag.
* Route53 provider has an unreachable return.
2020-01-28 12:10:58 -05:00
825ba2d081 Switch to Go 1.13 error wrapping (#604)
* Replaced errors.Wrap with fmt.Errorf (#589)

* Find:    errors\.Wrap\(([^,]+),\s+(["`][^"`]*)(["`])\)
  Replace: fmt.Errorf($2: %w$3, $1)

* Replaced errors.Wrapf with fmt.Errorf (#589)

* Find:    errors\.Wrapf\(([^,]+),\s+(["`][^"`]*)(["`])\)
  Replace: fmt.Errorf($2: %w$3, $1)
* Find:    errors\.Wrapf\(([^,]+),\s+(["`][^"`]*)(["`])(,[^)]+)\)
* Replace: fmt.Errorf($2: %w$3$4, $1)

* Replaced errors.Errorf with fmt.Errorf (#589)

* Find:    errors\.Errorf
  Replace: fmt.Errorf

* Cleaned up remaining imports

* Cleanup

* Regenerate provider support matrix

This was broken by #533 ... and it's now the third time this has been missed.
2020-01-28 11:06:56 -05:00
cae35a2c8f NAMECHEAP: Add CAA support (#533) 2020-01-28 10:54:58 -05:00
2f83aa9302 Internals: Switch to v2 go.mod, drop GOPATH, and fix Azure Pipelines (#595)
* Switched to v2 go.mod

Also set GO111MODULE=on in build stuff to always use Go modules
even when in GOPATH.

* Ensure go.mod, go.sum, and vendor are up to date

* Attempt to fix Azure pipelines

* Add set -e to properly fail on exit (it didn't seem to be
  propagating properly before).
* Set workingDirectory for GoFmt and GoGen (this might be why it
  fails unlike compile and unitests).

* Another attempt to fix Azure Pipelines

* Use the Go env template for all go-related jobs.

* Completely fixed Azure Pipelines

* Added a display name to GoFmt for consistency.
* Fixed diffs for GoFmt and GoGen.
* Show git status for checks.

* Drop GOPATH for tests

TODO: Do the same for integration tests.

* Drop GOPATH for integration tests

* Show more diffs

* Regenerate provider support matrix

This wasn't done in #590...
2020-01-28 10:42:31 -05:00
2d88d81392 NEW PROVIDER: Internet.bs (#590)
* Ineternet.bs: first version of provider
* Ineternet.bs: code and documentation cleanup
2020-01-27 08:25:20 -05:00
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
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
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
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
df3adef5ec Do some cleanup for AzureDNS code (#551) 2019-12-09 13:51:23 -05:00
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
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
d48009a621 DOCUMENTATION: Azure DNS dual host support is limited (#560) 2019-10-31 09:44:42 -04:00
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
96583a9188 make test more chaotic (still passes) 2019-10-09 09:54:40 -04:00
2f41bf007f pull out records with identical content first. Saves from ordering issues. 2019-10-09 09:54:40 -04:00
33ecf81431 failing test for #552 2019-10-09 09:54:40 -04:00
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
79c548b168 GANDI-LIVEDNS: Support for multi TXT records verified (#545)
It seems it does support them.
2019-08-26 14:07:02 -04:00
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
cafd4d387a vultr: Added support for SSHFP records (#531) 2019-07-15 12:28:37 -04:00
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
08deda6746 Integration tests running in azure pipelines (#516) 2019-07-02 12:32:54 -04:00
5b5ae861ae fix format again 2019-06-27 01:29:13 -04:00
7e3c5b528e fix unit tests 2019-06-27 01:26:48 -04:00
364aac5073 fix format 2019-06-27 01:21:23 -04:00
394b9ccf41 respect max batch size for r53 (#509) 2019-06-26 23:45:34 -04:00
4a7a5515a0 add a comment explaining cloudflare tll oddness 2019-06-17 15:12:23 -04:00
f61efd45f2 restore prior cloudflare auto-ttl behavior when ttl is 300 2019-06-17 15:09:27 -04:00
539820f87a CF: Add ability to manage UniversalSSL (#496)
* Added Cloudflare UniveralSSL control
* Added CF_UNIVERSALSSL_ON/OFF macros
* Updated docs
* Small docs update
* go generate
2019-06-13 07:32:54 -04:00
a5dcad06a3 Fix integration tests (NAMEDOTCOM, CLOUDFLARE) (#498)
NAMEDOTCOM: TXTMulti is broken. Disable.
CLOUDFLARE: Fix SSHFP tests.
2019-05-27 15:10:00 -04:00
5538de6682 IGNORE() now supports glob pattern/wildcards (#463) 2019-05-27 10:14:29 -04:00
b3e35b56a2 DOC: Apply brand-preferred case (#429)
* Apply brand-preferred case

* Apply case to own branding as well
2019-05-23 09:29:21 -04:00
7ed3adb2f1 OVH: Fixed registrar ns correction (#486) 2019-05-23 09:25:26 -04:00
d84a91c848 CLOUDFLARE: Added TLSA and SSHFP support (#484) 2019-05-20 22:32:39 -04:00
9052e7a1a7 OVH: Fixed DKIM when having longer keys (#487) (#488)
* OVH: Fixed DKIM when having longer keys (#487)

* Shorter error message, typo fix
2019-05-20 22:31:59 -04:00
df163c0042 OVH: Update to use newer client library (#445)
* xlucas/go-ovh is deprecated, use ovh/go-ovh instead.

* vendor github.com/ovh/go-ovh

* Fix 022-sshfp.json test
2019-05-20 15:39:19 -04:00
95a995189d CLOUDFLARE: Fix CF trying to update non-changeable TTL (#489) 2019-05-20 15:27:37 -04:00
5f77888296 DOCUMENTATION: Document bugid 491 (#492) 2019-05-20 14:37:23 -04:00
f795af3be0 OVH: Certify SSHFP support (#482) 2019-05-19 12:19:54 -04:00
c9a5c6a0f9 DIGITALOCEAN: Fix #479: Filter SOA records from Digitalocean (#485) 2019-05-19 12:12:10 -04:00
50d698fe37 OVH: Certify that CAA support (#477) 2019-05-18 11:11:04 -04:00
d782bb002b CLOUDFLARE: SPF records should be converted to TXT Fixes #446 (#480) 2019-05-18 11:08:18 -04:00
6d6f685f70 trim trailing dots from discovered nameservers in central place 2019-05-15 12:57:17 -04:00
61a00a7d7e Check for duplicate records much earlier (#467)
* Check for duplicate records much earlier.

* Change GetTargetDiffable to ToDiffable

* fixup!
2019-04-22 15:41:39 -04:00
e2726dda64 Fix NAPTR record support. 2019-03-29 12:01:52 +01:00
7566c0428e Attempt to add NAPTR support. 2019-03-28 15:40:13 +01:00
511c0bf7de NEW PROVIDER: Exoscale (#390)
* Add exoscale provider

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>

* Fix validation

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>

* Fix DualProvider

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>
2019-02-22 09:10:23 -05:00
9a6af836dc Activedirectory: Full support for managing NS records. (#450)
* condense AD 'unsupported record type' warnings

* active directory provider can create/modify/delete NS records!

* ad passes more of the tests now

* skip root NS records for safety

* clarifying comment
2019-02-20 12:30:35 -05:00