Commit graph

256 commits

Author SHA1 Message Date
Tom Limoncelli 2f1a8f4359 fixup! 2019-04-17 11:21:27 -04:00
Tom Limoncelli fa319f4934 fixup! 2019-04-17 11:09:38 -04:00
Tom Limoncelli 67a0e9e248 named.com.md: Improve headings 2019-04-17 09:41:31 -04:00
Tom Limoncelli 963bd32e20
Add SIP/JABBER labels to underscore exception list (#453)
* Improve comments in checkLabel
* Reformat labelUnderscores to make it easier to add to
* Add to exception list for label warnings
* Add underscores in hostnames to the opinions list.
2019-03-04 12:11:25 -05:00
Pierre-Emmanuel Jacquier 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
Riley Berton 82d4660816 ROUTE53/GCLOUD: Add Delegation/nameserver Sets (#448)
- Support DelegationSet for Route53 (create-domains only)
- Retry Route53 operations which fail for rate limits under large numbers of domains
- Support for name_server_set for GCloud (create-domains only)
- Docs for both
2019-02-19 12:30:39 -05:00
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
Alejandro Lazaro 12010ba0cd Documentation: Fix typos and formatting in SPF_BUILDING (#435)
* Fix function name
* Fix indentation
2019-01-02 08:30:06 -05:00
Iuri de Silvio 35f74d9582 Fix spf-optimizer TOC link (#434) 2018-12-29 10:28:41 -05:00
Tom Limoncelli cec58cea20 Documentation: Clarify releng docs. 2018-12-19 15:09:16 -05:00
Etienne Samson c5fce0f327 Documentation: Fix OVH API First Steps link (#416) 2018-12-19 15:06:41 -05:00
Bart S 5594904f3d CLOUDFLARE: Added options to set the target account for new domains (#430) 2018-12-19 09:48:27 -05:00
Tom Limoncelli 365b1985b9 NAMEDOTCOM: Improve error docs 2018-12-18 17:45:31 -05:00
Tom Limoncelli 6d93f80abb NAMEDOTCOM: Documented some error messages. 2018-12-18 15:26:26 -05:00
Tom Limoncelli 74fa9ed0c0 GANDI-LIVE: Document "no such zone" error. 2018-12-16 09:05:16 -05:00
Brice Figureau 292ea28208 Populate ovh zones cache as early as possible (#412) (#417)
* Maint: run generate for missing documentation

Apparently current master is missing some generated documentation.

* Populate ovh zones cache as early as possible (#412)

We are caching the OVH zones in GetNameservers.
It turns out it isn’t a good idea, because GetNameServers will not be called
if the user selects no name servers for a given domain by using for example:

```
D(‘my domain’, DnsProvider(ovh, 0)) {
}
```

The subsequent GetDomainCorrections would automatically fail
with an unknown domain error, because the zones cache hasn’t been
filled in.

To solve the issue, the ovh provider now populates the zones cache during
initialisation.
2018-10-16 15:42:54 -04:00
ashleyhull-versent 734170013c ROUTE53: Documentation for AWS Token PR (#403)
* Update route53Provider.go

* includes optional Token

* Appended Token and additional information for
2018-09-05 09:07:28 -04:00
Ed Bardsley 61281d7046 Add NAMESERVER_TTL and associated documentation. (#398) 2018-09-04 10:57:11 -04:00
Kai Schwarz 50c126c2d4 upd: Maintainers of contributed providers (#400) 2018-08-30 11:45:52 -04:00
Kai Schwarz 3e5d223675 new provider module HEXONET (#373) 2018-08-30 08:54:42 -04:00
Vincent Bernat d9db572e3c doc: update documentation for Gandi to mention the LiveDNS provider (#385)
The `GANDI` provider also seems to be unable to see new domains (the
ones bought through the new interface), but I didn't mention that as
it may be a bug that could be solves at some point.
2018-08-03 08:53:30 -04:00
Craig Peterson 6c60eac7c7
Work around extra whitespace in spf records (#361)
* handle empty spf parts from bad records

* update spf tool
2018-05-03 10:03:38 -04:00
Craig Peterson 7c1f45b002 casing 2018-04-27 10:48:38 -04:00
Craig Peterson 9eab281513 more typos 2018-04-26 15:36:39 -04:00
Jamie Simmonds 5618442830 "Let's Enrypt" to "Let's Encrypt" (#359) 2018-04-26 15:28:58 -04:00
Craig Peterson 2e8c4a758f
Let's Encrypt Certificate Generation (#327)
* Manual rebase of get-certs branch

* fix endpoints, add verbose flag

* more stable pre-check behaviour

* start of docs

* docs for get-certs

* don't require cert for dnscontrol

* fix up directory paths

* small doc tweaks
2018-04-26 13:11:13 -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
Ben Firshman cd58d26545 Documentation: Add Gandi registrar to example (#335) 2018-03-17 08:43:57 -04:00
Tom Limoncelli 7486ee4ace docs/release-engineering.md: Add local tips 2018-03-16 13:07:42 -04:00
Philipp Hug 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
Tom Limoncelli 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
Tom Limoncelli 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
Tom Limoncelli 7bd7105c44 release-engineering.md: Parameterize $VERSION 2018-01-22 21:21:33 -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 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
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
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 c520471ab7 doc: Fix path to providers stuff. 2017-12-21 09:33:21 -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 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 21e4cb4fc3 go generate && add more RelEng docs. 2017-12-06 17:03:07 -05:00
Tom Limoncelli efd34e94a8 docs/release-engineering.md: Minor fixes. 2017-12-06 17:01:16 -05:00
Tom Limoncelli c6e244d8da
Productionize the SPF optimizer (#279)
* Productionize the SPF optimizer
* SPF_BUILDER(): New helper function
* docs/spf-optimizer.md: Document SPF_BUILDER()
2017-12-06 15:50:21 -05:00
Tom Limoncelli 95fb79dfcc Document creds.json can include env variables 2017-12-05 06:18:21 -05:00
Patrick G 203c4ffe85 Improved Namecheap documentation (#221) (#232)
* Improved Namecheap documentation
2017-11-29 23:51:52 -05:00
Daniel Schmitz f5bfcd0d6e NS1: Add SRV record support (#277)
* NS1 SRV record support
* Updated feature matrix
2017-11-29 07:57:35 -05:00
Philipp Hug 53b72f39a8 GANDI: Registrar support (#274)
* GANDI: add registrar support for changing nameservers. #87

* Update docs with Gandi registrar support #87

* Updated dependencies for Gandi Registrar Support #87
2017-11-27 13:04:24 -05:00
Craig Peterson ccf28349ce
Update aws libs and remove waiter (#276)
* update r53 library. Remove waiter code

* live update provider request section

* remove debug
2017-11-27 10:22:08 -05:00
Koen Vlaswinkel 9a44e785ac New provider: Linode (#268) 2017-11-14 23:08:06 -05:00
Tom Limoncelli 750ed4340e Provider Request: NameSilo 2017-11-13 09:59:02 -05:00
Brice Figureau e44dde52e2 New Provider: OVH DNS Provider (#143) (#175)
* OVH DNS Provider (#143)

This adds the OVH Provider along with its documentation.

Unfortunately we can't set this DNS provider to support `CanUsePTR`,
because OVH only supports setting PTR target on the Arpa zone.

* OVH Registrar provider (#143)

This implements OVH as a registrar provider.
Note that NS modifications are done in a "best effort" mode, as the
provider doesn't wait for the modifications to be fully applied
(the operation that can take a long time).

* Allow support for dual providers scenarios

Since OVH released their APIv6, it is now possible to update
zone apex NS records, opening the door to complete dual providers
scenarii.

This change implements apex NS management in an OVH zone.
2017-11-10 11:02:34 -08:00
Tom Limoncelli fea1d7afff Add OWNERS file and instructions. 2017-11-09 13:38:56 -05:00
Tom Limoncelli 2e61c83511 Docs: Note the request for a INWX provider. 2017-11-09 13:28:37 -05:00
Tom Limoncelli e7472f76f3 Downcase DNS names (#253)
* Downcase DNS names
* Document opinions
2017-11-07 14:12:17 -08:00
Tom Limoncelli b614501d56 Add introductory text to Writing Providers 2017-11-07 16:42:11 -05:00
Tom Limoncelli 8d77ca9cc8 release-engineering.md: New releases should be announced in chat (gitter.im) 2017-11-02 16:35:08 -07:00
Tom Limoncelli 79912725d8 Update release-engineering.md 2017-11-02 14:51:52 -07:00
Matt Tunny f7eb7cd1f6 Docs/Provider - missing double quote =D (#257)
* spelling mistake

fix spelling mistake

* missing double quote

missing double quote =D
2017-11-01 08:45:22 -04:00
Matt Tunny cad1aa8d16 spelling mistake (#255)
fix spelling mistake
2017-10-31 08:52:04 -04:00
Thordur Bjornsson 03168d4a7a docs: Fix type in gcloud docs (#248) 2017-10-25 09:21:44 -04:00
Patrick G fad98f73f4 Improve Route53 documentation (#221) (#234)
* Improve Route53 documentation

- Grammar fixes
- Formatting improvements
- Don't encourage using environment vars instead of the credentials file

* Add back sdk config link
2017-10-24 09:44:23 -04:00
Patrick G 98e01e75aa Website fixes (Part 2) (#221) (#236)
* Fix page title spelling

* Fixed some more mistakes

* Spacing fixes

* Fix title in TOC

* Improved TOC
2017-10-24 09:42:30 -04:00
Craig Peterson 60ed1a2e0b Namecheap: switch throttling to only as needed. (#244)
* refactor namecheap to throttle only as needed

* note about srv records

* no it can't

* fmt
2017-10-24 09:41:59 -04:00
rbelnap 1664b64a94 namecheap url doc mention (#245)
* add initial URL support to namecheap provider

* add URL / FRAME records to namecheap provider

* add menion of URL types to namecheap docs
2017-10-23 14:16:16 -04:00
Craig Peterson e548b8f059 DNSimple: Adding SRV, CAA, and ALIAS suppport (#243)
* dnsimple ALIAS

* caa working

* srv

* gen
2017-10-18 15:51:44 -04:00
Patrick G 23427516c0 Added Vultr provider (#217) (#219)
* Added Vultr provider
* Fixed tests
* Fixed CI build validation
* Add unsupported features
* Added #rtype_variations tags according to stackexchange.github.io/dnscontrol/adding-new-rtypes
* Add title (for compatibility with #223)
* Removed extra rtype_variations
2017-10-12 09:21:36 -04:00
Patrick G 002426ce4d Improved DigitalOcean documentation (#227)
- Grammar fixes
- Formatting improvements
- Changed a completly wrong statement about route53 (should be about DO)
2017-10-11 13:13:31 -04:00
Patrick G 60bc15705f Improve DNSimple documentation (#221) (#228)
- Grammar improvements
- Markdown formatting improvements
2017-10-11 13:13:12 -04:00
Patrick G 208eeaac6f Improved Name.com documentation (#231)
- Improved formatting
- Other fixes
2017-10-11 13:12:41 -04:00
Patrick G 8d0576ac7f Improve softlayer documentation (#235)
- Add note that using the creds.json file is the preferred method of authentication
- Improve formatting
2017-10-11 12:06:04 -04:00
Tom Limoncelli 7d3e3b6279 Add-back note about BIND local scripts 2017-10-11 12:02:40 -04:00
Patrick G efbf04e231 Improved BIND docs (#221) (#226)
* Improved BIND docs

- Fixed highlighting language
- Improved markdown formatting
- Improved grammar

* Fix according to review
2017-10-11 11:59:29 -04:00
Patrick G 211add3ec3 Improve NS1 documentation (#233)
- Minor fixes
2017-10-11 11:54:32 -04:00
Patrick G f753c5a700 Improve Google Cloud DNS docs (#230)
- Markdown formatting improvements
- Added note about newlines in private key
2017-10-11 10:10:23 -04:00
Patrick G 326e3a803c Improve Gandi documentation (#229)
- Markdown formatting improvements
- Other fixes
2017-10-11 10:10:01 -04:00
Tom Limoncelli 7f87deb4e5 fixup! 2017-10-11 09:59:45 -04:00
Patrick G e2ed50a136 Fixed Active Directory docs (#225)
- Grammar fixes
- Formatting fixes
2017-10-11 09:58:23 -04:00
Patrick G efe302a957 Fixed Cloudflare docs (#224)
- Grammar fixes
- Fixed wrong highlighting type
- Formatted markdown better
- Other various fixes
2017-10-11 09:55:57 -04:00
Tom Limoncelli 8dedfb1017 Minor doc fixes 2017-10-11 08:40:01 -04:00
Patrick G 31bdb65720 Improved consistency of provider documentation (#222)
- Fixed indentation
- Use same naming scheme for all examples
  (i.e. all caps for provider, REG prefix for registrar)
- Use REG_NONE as registrar when provider does not provide it
- Use example.tld for example domain
- Use 1.2.3.1/24 IP range for examples
- A few spelling fixes
2017-10-11 08:33:52 -04:00
Patrick G a202b8ae53 Website fixes (Part 1) (#223)
* Fixed base template

- Made responsive for small screens
- Added DOCTYPE
- Added meta charset

* Added page titles

* Beautified CSS
2017-10-11 08:33:17 -04:00
Craig Peterson 2cfd67e4fa Namecheap take Provider (#202)
* re-copying namecheap dns provider and testing

* document limits. mx broken because super odd api

* manually path namecheap lib. passing tests.

* generate

* generate

* clarify limit

* conflict

* add dependency

* fully document namecheap capabilities
2017-10-03 11:53:56 -04:00
Tom Limoncelli 56b4578833 release-engineering.md: Small cleanups 2017-10-02 15:10:26 -04:00
Tom Limoncelli 86e955befe release-engineering.md: Add links 2017-10-02 13:53:01 -04:00
Tom Limoncelli a151b85cd0 Docs: Link to RE page on the front page 2017-10-02 13:49:05 -04:00
Craig Peterson 6df4396d93 promote home page 2017-10-02 13:35:13 -04:00
Craig Peterson 49038cf51c add include 2017-10-02 11:19:40 -04:00
Craig Peterson 324cde5a1d bigger homepage 2017-10-02 11:14:15 -04:00