Commit graph

427 commits

Author SHA1 Message Date
Tom Limoncelli
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
Tom Limoncelli
324b1ea930 UPdate static.go 2018-02-09 14:04:07 -05:00
Ismael Peral
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
Craig Peterson
84743bd7f4
Delete 009-reverse.json 2018-02-07 10:38:27 -05:00
Craig Peterson
74bb157bd7
Delete 009-reverse.js 2018-02-07 10:38:18 -05:00
Tom Limoncelli
4b1dc82c9b
Switch from fmt.Error* to errors.Error* (#317) 2018-02-05 16:17:20 -05:00
Tom Limoncelli
65f8fb63f0
Better .gitignore of integration test stuff. (#316) 2018-02-05 10:28:58 -05:00
Craig Peterson
7a4dca5ad5 Refactor: Prelink providers to domains (#305) 2018-02-01 11:45:53 -05:00
Brice Figureau
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
Brice Figureau
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
Pat Moroney
d5adb3faf6 trim trailing '.' from FQDN (#307) 2018-01-24 18:41:10 -05:00
Tom Limoncelli
7bd7105c44 release-engineering.md: Parameterize $VERSION 2018-01-22 21:21:33 -05:00
Tom Limoncelli
5fa0cd1d46 Release v2.5 2018-01-22 20:42:41 -05:00
Tom Limoncelli
9764322d0e
vendor github.com/prasmussen/gandi-api with new LiveDNS support. (#302) 2018-01-16 17:11:11 -05:00
Brice Figureau
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
Brice Figureau
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
Tom Limoncelli
79983f3493 docs/adding-new-rtypes.md: add missing step WRT the feature matrix 2018-01-14 12:30:39 -05:00
Craig Peterson
0b329bf0ee add emphasis 2018-01-11 12:44:52 -05:00
Craig Peterson
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
Pat Moroney
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
Tom Limoncelli
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
Pat Moroney
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
Tom Limoncelli
b7c251190f
Vet and Lint the entire system (#296)
* govet and golint corrections
2018-01-09 12:53:16 -05:00
Tom Limoncelli
1a91a7f536 go generate 2018-01-06 15:13:57 -05:00
Tom Limoncelli
2dd9049582 helpders.js: Run prettier. 2018-01-06 15:13:22 -05:00
Tom Limoncelli
a03c8f19e8
Add syntax for very long DKIM strings (#295)
* Add DKIM() function to split long strings.
* Add parse_test for DKIM()
2018-01-04 21:17:08 -05:00
Tom Limoncelli
be50e1a6a3
convertzone: Handle TXT records with multiple strings (#294)
* Check for the right number of command line args
* Handle TXT records with multiple strings
2018-01-04 20:35:15 -05:00
Tom Limoncelli
de88bfe8b7
Add support for TXT records with multiple strings (BIND, ROUTE53) (#293)
* BIND: Support TXT records with multiple strings (#289)
* ROUTE53: Add support for TXT records with multiple strings (#292)
2018-01-04 19:19:35 -05:00
Tom Limoncelli
d051f51a59
ROUTE53: Document error messages from various credential issues. (#291) 2017-12-23 08:03:05 -05:00
Tom Limoncelli
a0f14e5981
GANDI: Add support for CAA rtype (#288)
* GANDI: Add support for CAA rtype
2017-12-22 07:10:29 -05:00
Tom Limoncelli
612001c5c1 Merge branch 'tlim_doc' 2017-12-21 09:57:47 -05:00
Tom Limoncelli
48de548826 docs: Improve comments related to capabilities. (#287) 2017-12-21 09:43:21 -05:00
Tom Limoncelli
1886b64a9f Merge branch 'master' into tlim_doc 2017-12-21 09:34:42 -05:00
Tom Limoncelli
c520471ab7 doc: Fix path to providers stuff. 2017-12-21 09:33:21 -05:00
Tom Limoncelli
9e90f59f33 docs: Improve comments related to capabilities. 2017-12-21 09:19:39 -05:00
Tom Limoncelli
8baf9ee1a4 docs: Add bookmark to comparison chart 2017-12-20 16:29:52 -05:00
Tom Limoncelli
0c607348df docs: Add bookmark to comparison chart 2017-12-20 16:27:11 -05:00
Tom Limoncelli
65c3702335 docs: Add bookmark to comparison chart 2017-12-20 16:06:56 -05:00
Tom Limoncelli
611a597ae0
CLOUDFLARE: Support CAA rtype (#285)
* Add CAA support to cloudflare
2017-12-20 10:25:23 -05:00
Tom Limoncelli
ed2b34d473 Fix https://github.com/StackExchange/dnscontrol/issues/284 2017-12-17 11:59:02 -05:00
Tom Limoncelli
86257b3863 Docs: Correct numbering and add integration test advice. 2017-12-14 06:11:10 -05:00
Louis T. Getterman IV
11f29e1dd7 DIGITALOCEAN: Improve example in docs (#281)
Documentation fix to resolve, "Creating do dns provider: Digitalocean Token must be provided." error.
2017-12-11 10:02:13 -05:00
Tom Limoncelli
3f4cc3c025 unittests.md: Update for new-style flags. 2017-12-11 09:57:46 -05:00
Tom Limoncelli
a77f89ca72 Clean "go vet" issue in providers/cloudflare/preprocess_test.go 2017-12-09 07:14:09 -05:00
Tom Limoncelli
21e4cb4fc3 go generate && add more RelEng docs. 2017-12-06 17:03:07 -05:00
Tom Limoncelli
678610034b Merge branch 'reformat' 2017-12-06 17:01:52 -05:00
Tom Limoncelli
efd34e94a8 docs/release-engineering.md: Minor fixes. 2017-12-06 17:01:16 -05:00
Tom Limoncelli
f5945ab444 Release v2.4 2017-12-06 15:59:00 -05:00
Tom Limoncelli
d8e22b4e2c
pkg/js/helpers.js: Prettier. (#280) 2017-12-06 15:56:57 -05:00
Tom Limoncelli
3f8642afda pkg/js/helpers.js: Prettier. 2017-12-06 15:55:42 -05:00