Commit graph

25 commits

Author SHA1 Message Date
Tom Limoncelli
061ea63322
require() should handle paths as relative (like nodeJS) (#443)
* Integrate @nlowe's documentation and tests
* Use filepath.Clean() instead of filepath.Abs()
* Use a stackless implementation
2019-01-29 10:29:00 -05:00
Ed Bardsley
61281d7046 Add NAMESERVER_TTL and associated documentation. (#398) 2018-09-04 10:57:11 -04:00
Tom Limoncelli
139f4fe1ed Docs: Update NAMESERVER() to not mention IPs. 2018-03-22 11:31:53 -04:00
Tom Limoncelli
511d10efc9
Document SRV, CF*REDIRECT, and note where docs are needed. (#346) 2018-03-22 09:30:09 -04: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
b7c251190f
Vet and Lint the entire system (#296)
* govet and golint corrections
2018-01-09 12:53:16 -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
eliheady
4aac517d62 Add TLSA record support (#165) (#203) 2017-09-15 09:03:29 -04:00
Koen Rouwhorst
ab0fd55277 Added 'Route 53' to CAA document. (#196) 2017-09-09 09:26:11 -04:00
Tom Limoncelli
d7845e046c docs/ Remove whitespace at EOL 2017-08-29 13:49:39 -04:00
Tom Limoncelli
d15ef9f1a3 Fix highlighting 2017-08-15 13:54:00 -04:00
Tom Limoncelli
ea3e2831a8 Document TXT, NS, NO_PURGE, PURGE, and IMPORT_TRANSFORM (#184)
* Document TXT, NS, NO_PURGE, PURGE, and IMPORT_TRANSFORM
2017-08-15 10:46:31 -07:00
Tom Limoncelli
2f0f5330fc Add CAA support (#161)
* Added CAA support

* Fixed bind parsing of CAA records

* Added CAA parsing test

* Renamed CAA json fields

* Added CAA tag validation

* Updated CAA docs to clarify on the value field

* parse_tests: Fixed typo in caaflags

* Added integration test

* Small cleanups
2017-07-25 14:59:40 -04:00
Tom Limoncelli
e563c53658 PTR should handle "Classless in-addr.arpa delegation" RFC2317 (#149)
* Handle IPv4 "Classless in-addr.arpa delegation" RFC2317 (partial).
* Validate PTR name when in RFC2317 "Classless in-addr.arpa delegation" domains.
* Update docs
* Set CanUsePTR for Route53 and Google CloudDNS.
* BIND: Replace "/" with "_" in filenames.
2017-07-10 19:24:55 -04:00
Tom Limoncelli
9e66402e0b DefaultTTL.md: Improve example 2017-07-09 08:04:28 -04:00
Tom Limoncelli
582e5c2bb1 Make PTR more magical (#148)
* Initial code and tests
2017-07-07 13:59:29 -04:00
Tom Limoncelli
aa92817116 Enable PTR records for BIND driver (#146)
* WIP

* Enable PTR records in dnsconfig.js, in BIND provider.

* Rename REVERSE() to REV().

* More accurate PTR target checking

* Document REV()

* Fix broken test
2017-07-06 10:18:15 -04:00
Tom Limoncelli
f929eadbf9 Change double to single quotes in examples. 2017-06-08 14:14:46 -04:00
Tom Limoncelli
023dca79e9 fixup! 2017-06-08 13:56:44 -04:00
Tom Limoncelli
da5dd05568 fixup! 2017-06-08 13:54:58 -04:00
Tom Limoncelli
2de98be2b5 Document the new TTL/DefaultTTL duration format. 2017-06-08 13:44:37 -04:00
Craig Peterson
fb14cea91e Support ALIAS records with Cloudflare (#89)
* simple facility for registering provider capabilities

* support for cloudflare. tests.

* js and docs

* docs

* generate
2017-04-19 13:13:28 -06:00
Craig Peterson
fc0cac7d29 adding mx and cname 2017-04-11 23:02:57 -06:00
Craig Peterson
7ba051d750 adding docs again 2017-01-11 13:02:45 -07:00