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

453 Commits

Author SHA1 Message Date
2a7b382767 Better validate NAMESERVER format. (#350)
* remove misleading ip field we don't touch
2018-03-22 11:52:52 -04:00
139f4fe1ed Docs: Update NAMESERVER() to not mention IPs. 2018-03-22 11:31:53 -04:00
511d10efc9 Document SRV, CF*REDIRECT, and note where docs are needed. (#346) 2018-03-22 09:30:09 -04:00
899100b7b3 Add again setting LabelFQDN in NormalizeAndValidateConfig (#342)
This is to prevent all labels to get erased by the empty LabelFQDN
during calls to `PunyCode`, until a better fix is found.
2018-03-22 09:29:55 -04:00
acaa77dc22 BIND: Fix panic on CNAME (#347)
* BIND: Fix panic on CNAME
* Improve tests
2018-03-22 09:25:40 -04:00
f9d748011e OVH: panic on SPF and DKIM record types (#340)
OVH uses special SPF and DKIM invalid types for records added with
the web ui (or default zone records).
The ovh provider didn't correctly handle those invalid record types
and was panic'ing.
This change prevents the panic by converting such records to TXT
(which is what they are in fact), but also auto-corrects any SPF
or DKIM records to TXT ones.
2018-03-21 14:49:54 -04:00
0d52745164 typo (#338) 2018-03-21 08:12:05 -04:00
a7eba97ada Refactor in preparation to unexport RecordConfig.{Name,NameFQDN,Target} (#337)
* Preparing for the unexport of Name/NameFQDN/Target
* Cleanups
2018-03-19 17:18:58 -04:00
cd58d26545 Documentation: Add Gandi registrar to example (#335) 2018-03-17 08:43:57 -04:00
7486ee4ace docs/release-engineering.md: Add local tips 2018-03-16 13:07:42 -04:00
cea71db352 Release v2.6 2018-03-16 11:27:40 -04:00
2579336cdb GCLOUD: create-zones breaks if domain starts with digit 2018-03-09 07:01:13 -05:00
bf9007fde4 add example and tips 2018-03-09 06:53:43 -05:00
afa80c24bd LINODE: Fix Linode provider (#333) 2018-03-08 13:48:11 -05:00
8db97d1132 BUG: ROUTE53 crashes if traffic flow policy records exist (#330)
* skip traffic policy records
2018-03-08 11:59:40 -05:00
2d7a48950c Fix 312 - rewrite IGNORE to use GetLabel (#331)
As discussed after the refactor to generalize the use of `GetLabel`,
this change makes IGNORE also use `GetLabel`.
2018-03-08 09:43:54 -05:00
dfd015e5cd NEW REGISTRAR: OpenSRS (#275)
* Initial commit for OpenSRS registrar support #272
* sort existing name servers before comparing.
* vendor philhug/opensrs-go
* Update docs for OpenSRS #272
* Cache OpenSRS client to prevent http connection leak
* run go fmt
2018-03-04 23:07:22 -05:00
20f0c984e4 GCLOUD: Differentiate two modules name dns (#328)
* fix import
2018-03-01 10:20:34 -05:00
19ca760072 fix for deleting wildcard from r53. includes failing integration test 2018-03-01 10:09:02 -05:00
43dc9ac92f Update vendored packages (#326)
* update all vendored packages
2018-02-27 18:24:11 -05:00
54de1ff698 NEW PROVIDER: OctoDNS (#309)
* govendor gopkg.in/yaml.v2
* Ignore YAML and BIND test data litter.  Create README.txt files to force git to create subdirectories.
* Update convertzone to also read OctoDNS files
2018-02-27 17:36:47 -05:00
b83630044f Correction: Fix error message. 2018-02-27 16:53:02 -05:00
32a481b85f BUG: dnssimple URL broke during refactor (#325) 2018-02-27 16:50:34 -05:00
e266e953d9 Fix DNSimple crashes on Alias: (#322)
* Fix https://github.com/StackExchange/dnscontrol/issues/321
2018-02-27 09:38:39 -05:00
1097c96fcc New Provider: GANDI-LIVEDNS (API v5) (#320)
* Add gandi LiveDNS api provider
* vendor testify and gandi live DNS
* govendor update github.com/prasmussen/gandi-api/{client,live_dns}
* Fix Gandi-livedns TXT unit test
* TravisCI should use go 1.10
2018-02-24 13:40:18 -05:00
86914b0696 Fix broken test 2018-02-24 13:03:31 -05:00
de4455942b Refactor RecordConfig: Add getters/setters (#314)
* Replace RecordConfig.Name and .NameFQDN with getters and setters.
* Replace RecordConfig.Target with getters and setters.
* Eliminate the CombinedTarget concept.
* Add RecordConfig.PopulateFromString to reduce code in all providers.
* encode and decode name.com txt records (#315)
* Replace fmt.Errorf with errors.Errorf
2018-02-15 12:02:50 -05:00
324b1ea930 UPdate static.go 2018-02-09 14:04:07 -05:00
06404fdcf9 Fix CAA Support: helpers.js CAA_CRITICAL flag=128 (#318) (#319)
* Update helpers.js CAA_CRITICAL flag=128 (#318)

CAA flag "Issuer Critical Flag" sets first bit (bit 0) to 1 where bit 0 is the 8th bit in the flag, so it's doing the change by left shift 7 positions the value 1.

* Change caa tests

Apply changes for Travis-CI, now caaflag must be 128 instead of 1.

* generated static.go and matrix.html
2018-02-09 14:03:40 -05:00
84743bd7f4 Delete 009-reverse.json 2018-02-07 10:38:27 -05:00
74bb157bd7 Delete 009-reverse.js 2018-02-07 10:38:18 -05:00
4b1dc82c9b Switch from fmt.Error* to errors.Error* (#317) 2018-02-05 16:17:20 -05:00
65f8fb63f0 Better .gitignore of integration test stuff. (#316) 2018-02-05 10:28:58 -05:00
7a4dca5ad5 Refactor: Prelink providers to domains (#305) 2018-02-01 11:45:53 -05:00
b7c6efaa53 Make IGNORE work with all providers (#313)
the `differ.matchIgnored` function was comparing only with the `Name`
field of `RecordConfig`.

Most providers don't set `RecordConfig.Name`, only `RecordConfig.NameFQDN`
and for those `IGNORE` doesn't work at all.

This patch converts `IGNORE` to use `NameFQDN` instead since it seems
all providers provides it.
2018-02-01 10:32:38 -05:00
4c80526860 Fix R53_ALIAS not being registered as custom type (#310) (#311)
Apparently I've forgot to register the R53_ALIAS custom record
type, thus preventing to use R53_ALIAS in a js file.
The integration still worked fine because they probably don't run
the validation.
2018-02-01 07:39:11 -05:00
d5adb3faf6 trim trailing '.' from FQDN (#307) 2018-01-24 18:41:10 -05:00
7bd7105c44 release-engineering.md: Parameterize $VERSION 2018-01-22 21:21:33 -05:00
5fa0cd1d46 Release v2.5 2018-01-22 20:42:41 -05:00
9764322d0e vendor github.com/prasmussen/gandi-api with new LiveDNS support. (#302) 2018-01-16 17:11:11 -05:00
7b8d608019 ROUTE53: Support Route53's ALIAS record type (#239) (#301)
* Stable comparison of metadata (#239)

Iterating over a map in Go never produces twice the same ordering.
Thus when comparing two metadata map with more than one key, the
`differ` is always finding differences.

To properly compare records metadata, we need to iterate the maps
in a deterministic way.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>

* Support for Route53 ALIAS record type (#239)

Route53 ALIAS doesn't behave like a regular ALIAS, and is much more
limited as its target can only be some specific AWS resources or
another record in the same zone.

According to #239, this change adds a new directive R53_ALIAS which
implements this specific alias. This record type can only be used
with the Route53 provider.

This directive usage looks like this:
```js
D("example.com", REGISTRAR, DnsProvider("ROUTE53"),
R53_ALIAS("foo1", "A", "bar") // record in same zone
R53_ALIAS("foo2", "A",
  "blahblah.elasticloadbalancing.us-west-1.amazonaws.com",
   R53_ZONE('Z368ELLRRE2KJ0')) // ELB in us-west-1

```

Unfortunately, Route53 requires indicating the hosted zone id
where the target is defined (those are listed in AWS documentation,
see the R53_ALIAS documentation for links).
2018-01-16 05:53:12 -05:00
2fc55dfdc4 Add IGNORE(label) which ignores label at the provider (#183) (#300)
* Add support for the IGNORE(name) directive (#183)

IGNORE is like NO_PURGE but for a spefic record instead of the whole
zone. This is very useful for instance if you have a zone where
only some records are managed externally from dnscontrol (for instance
using kubernetes external dns system).

Adding IGNORE("foo") in the zone will make dnscontrol not trying
to manage the "foo" record (and especially not deleting it).
dnscontrol will error out if the "foo" record is both ignored and
managed in dnscontrol.

This can be seen as a generic Cloudflare's ignored label.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>

* Deprecate CloudFlare ignoredLabels in favor of IGNORE (#183)

Since IGNORE implements a generic `ignoredLabels` system, let
the user know CF `ignoredLabels` are deprecated.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2018-01-15 15:39:29 -05:00
79983f3493 docs/adding-new-rtypes.md: add missing step WRT the feature matrix 2018-01-14 12:30:39 -05:00
0b329bf0ee add emphasis 2018-01-11 12:44:52 -05:00
9dbd4a3066 Simple notification framework (#297)
* bonfire notifications working

* make interface to make more extensible

* some docs

* typo

* rename typo
2018-01-11 11:15:19 -05:00
91e2cf67ef NAMEDOTCOM: add TXTMulti capability (#299)
* add TXTMulti capability to the namedotcom provider
* run go generate
* escape multi txt records before sending to the API
2018-01-11 07:23:59 -05:00
c4ec6c8246 Add TXTMulti to the feature matrix.
* Add TXTMulti to the feature matrix.
* Sort the features alphabetically.
2018-01-10 17:06:15 -05:00
716cc0843a Namecom v4 api (#298)
* new Name.com api version and go client library
* vendor github.com/namedotcom/go/namecom
2018-01-10 16:49:20 -05:00
b7c251190f Vet and Lint the entire system (#296)
* govet and golint corrections
2018-01-09 12:53:16 -05:00
1a91a7f536 go generate 2018-01-06 15:13:57 -05:00