Commit graph

183 commits

Author SHA1 Message Date
rbelnap c1c9dabf43 add rate based throttle to namecheap (#238)
* add rate based throttle to namecheap

* add limit message if throttle limit is reached
2017-10-23 11:15:22 -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
Craig Peterson 2c5f4c88ea DNSimple: handle pagination appropriately. (#242)
* dnsimple paging

* remove unrelated change
2017-10-18 13:53:44 -04:00
Craig Peterson 01e6508487 re-add sleep to namecheap 2017-10-16 11:21:33 -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
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
Craig Peterson 707f7e5d99 export newdo 2017-09-27 22:03:11 -04:00
Jamie Lennox 7daa7a6467 Add SoftLayer DNS provider (#59)
Add SoftLayer DNS as a DomainServiceProvider.

The SoftLayer API is a bit of a mess and treats MX and SRV records
differently. This leads to some replication and custom handling issues
to work around.

In this patch I have to change the SRV test case to be _tcp instead of
_protocol because softlayer requires a "known" protocol which AFAICT is
tcp, udp or tls. I think this will be acceptable in most cases.

Signed-off-by: Jamie Lennox <jamielennox@gmail.com>
2017-09-26 13:14:53 -04:00
Craig Peterson 7b51f6dc55 clarify r53 alias situation 2017-09-15 13:52:10 -04:00
eliheady 4aac517d62 Add TLSA record support (#165) (#203) 2017-09-15 09:03:29 -04:00
Craig Peterson a342aa7e90 add ability to linkify provider matrix 2017-09-14 16:25:39 -04:00
Craig Peterson 3a90435357 Create a dynamic provider features matrix (#201)
* adding simple provider feature matrix generator

* filling out matrix

* clean output

* dead code

* explanatory text

* explanatory text

* typo

* move stuff around

* clean

* editing
2017-09-14 16:13:17 -04:00
Craig Peterson b0c465c3a9 Ns1 provider (#63)
* add ns1 libs to vendor

* Create shim and wire into tests

* ns1 provider more working.

* vendor correct files

* comment diff functions

* ns1 docs

* making mx work with ns1

* ?

* refactor tests to make capability blocks easier. fix up ns1
2017-09-13 11:49:15 -04:00
Craig Peterson bf85e299e7 add AAAA to bind sorter 2017-09-13 10:15:11 -04:00
Craig Peterson 1d9d2b1a19 Refactor to use better cli command framework (#177)
* starting to refactor commands

* work

* not sure

* all commands working!

* actually add file

* work in delay flag again

* start to refactor out console printing

* i hate line endings

* simple travis test to find direct output

* remove all direct printing from push/preview

* checkin vendor

* don't need this yet

* forgot to commit these

* make version explicit command

* some code review

* Add "check" subcommand.

* move stuff to commands package

* fix

* comment out check for printlns. for now

* alphabet hax

* activedir flags gone. use creds instead

* active dir doc update

* remove bind specific flags. creds instead

* default to zones dir

* fix linux build

* fix test

* cleanup random global* vars

* Clean up PowerShell docs

* rename dump-ir to print-ir. combine with print-js
2017-09-13 10:00:41 -04:00
Koen Rouwhorst 0798e4eb0e Route 53 provider now supports CAA (#193) 2017-09-02 07:31:51 -07:00
chewrocca 4244d5f638 adding functionality to allow Gandi to use SRV record types (#192)
* adding CombineSRVs and SplitCombinedSrvValues

adding support for Gandi SRV record types

* adding dc.CombineSRVs()

adding dc.CombineSRVs() to allow Gandi SRV record types.

* adding providers.CanUseSRV

adding providers.CanUseSRV for allowing Gandi to use SRV record types.

* adding case "SRV"

adding case SRV to allow Gandi to use SRV record types.
2017-08-29 10:10:50 -04:00
Tom Limoncelli 198cc258d8 Gandi: Fix broken PTR tests. (#188) 2017-08-22 12:45:40 -07:00
Manatsawin Hanmongkolchai 2ef6b9d6c5 Added PTR record support for prettyzone (#182) 2017-08-14 06:30:59 -07:00
Tom Limoncelli 2534c8eaf2 Ban NO_PURGE when using BIND and others. (#180) 2017-08-11 15:43:06 -04:00
Juho Teperi ad27cc9b3b Digitalocean provider (#171)
* Implement Digitalocean provider
* Vendor digitalocean lib
* Enable SRV for Digitalocean and fix the tests
* Test cname etc. records pointing to the same domain
2017-08-10 13:31:20 -07:00
PJ Eby 638ee45e6c Implement SRV support for CloudFlare provider (#174)
* Implement SRV support for CloudFlare provider
* go fmt
* Use valid SRV names in SRV tests
2017-08-10 13:02:06 -07:00
Tom Limoncelli 4570e0e404 Fix Gandi's MX handling. 2017-08-05 13:21:57 -04:00
Pat Moroney 93764da4e3 Namecom punycode (#170)
* convert records to punycode before processing

* make IDN CNAME target use a real IDN TLD
2017-08-05 08:08:22 -07:00
Norm MacLennan 7f01a8c9ad #68 Registrar support for Route53 provider (#155)
* Added registrar support to Route53 provider
* ran gofmt on route53Provider
* Caveat: If you use r53 is a Registrar but not as a Dns Service Provider, DNSControl may be DNS-related API calls that you do not have IAM permissions to do.
2017-08-05 07:56:42 -07:00
Tom Limoncelli 2cbabd859b Make it easier to add new Rtypes. (#169)
* NEW: docs/adding-new-rtypes.md
* Mark all "if" and "switch" statements with `#rtype_variations`
* Make consistent use of `default: panic()`
2017-08-04 12:26:29 -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 caa71c4031 Mark RecordConfig when Target contains multiple embedded fields. 2017-07-20 18:59:09 -04:00
Pat Moroney 8d390aad24 add the new ANAME record type to the records list (#158) 2017-07-20 16:39:40 -04:00
Tom Limoncelli e6ce3b8895 Cleanup SRV testing
* Integration tests: PTR tests should only happen if CanUsePTR
* Integration tests: SRE tests should only happen if CanUseSRV
* CanUseSRV should be validated early (in pkg/normalize/validate.go)
* CLOUDFLARE does not support SRV. Check for this during validation
* GCLOUD CanUsesRV (mostly by accident, but whatever works)
2017-07-20 15:55:26 -04:00
Tom Limoncelli 4bdaf37c78 NAMEDOTCOM CanUseAlias 2017-07-20 10:10:43 -04:00
Tom Limoncelli 9aac24e14c Add support for SRV records for BIND 2017-07-19 16:02:11 -04:00
Tom Limoncelli d55b20ecdb Add SRV Record Type (#136)
* Add support for SRV records for NAMEDOTCOM and ROUTE53.
* Improve docs
* Rename RR() to ToRR().
* Rename RecordConfig Priority to MxPreference (affects json IR data)
2017-07-19 15:53:40 -04:00
Tom Limoncelli 032750743c DNSIMPLE: Supports PTR records 2017-07-19 14:41:18 -04:00
Pat Moroney 5b71da6a48 add ALIAS support for Name.com provider (#156) 2017-07-19 13:23:17 -04:00
Norm MacLennan d1fba2c236 Route53 provider: pass the right correction message based on action (#151) 2017-07-14 16:03:04 -04:00
Tom Limoncelli d346d561a0 NAMEDOTCOM needs parameterization to permit integration testing. 2017-07-13 15:21:16 -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
Craig Peterson 152892f62a generalize capability validation 2017-07-06 10:24:21 -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 0b34c42ff4 Rename RR() to ToRR(). 2017-06-17 11:00:12 -04:00
Tom Limoncelli 2b93e6725f Gandi does not support TTLs > 30 days (#139)
* Fix https://github.com/StackExchange/dnscontrol/issues/108

TODO(tlim): Add tests.

* fixup!
2017-06-12 11:38:26 -04:00
Tom Limoncelli 79a9de256e Clarify error message. 2017-06-09 11:57:30 -04:00
Craig Peterson 42ef9f4b9e moving a bunch of packages under pkg (#124)
* moving a bunch of packages under pkg

* fix gen

* fix tst

* oops

* fix test fo real

* parse mx/a
2017-05-25 14:25:39 -04:00
Craig Peterson 20253130cf allowing metadata to force remove all nameservers 2017-05-23 13:38:14 -04:00
Craig Peterson f1a0d65198 Cloudflare Redirects (#119)
* function sig

* sig

* some custom record infrastructure

* CLOUDFLARE REDIRECTS!

* comments out

* guarding redirects behind provider metadata to manage

* catch commas in js to ensure proper encoding.

* gen

* small fix

* revendor otto

* docs
2017-05-19 14:15:57 -04:00
Tiernan OToole 5cad1c3513 Cloudflare createdomain (#113)
* fixing #112

* fixing build issue

* typo

* adding missing commits from master

* fixing gofmt validation errors

* fixing github pull request sugestions

* fixing build issue

* adding debug info

* adding more debug

* tweaking code based on pull request comments

* fixing error
2017-05-05 15:20:43 -06:00
Mathieu Herbert 95705e7f2d Allow more flexibility in configuring Route53 (#93)
* providers/route53/route53Provider.go

* fix fmt

* check credentials, add Route53 fetch zones in init section and add check if delegation set is present or nil
2017-05-03 11:30:05 -06:00
Craig Peterson 0f4f7d813e no purge (#111) 2017-05-03 09:46:39 -06:00
Tiernan OToole 22fb25af36 adding no_purge to cloudflare (#110) 2017-05-03 09:24:08 -06:00
Tom Limoncelli 8769b1f021 Removed debug statements. 2017-04-30 09:30:07 -04:00
Tom Limoncelli d92fd5b461 BIND Provider: Pick default TTL automatically for zonefiles (#109)
* BIND Provider: Pick default TTL automatically for zonefiles
2017-04-30 09:28:35 -04:00
Pat Moroney 3488c82093 Fix some typos in comments (#102) 2017-04-27 06:59:18 -06:00
rbelnap 426c2ed38d add BaseURL option to namecheap creds to allow setting sandbox endpoint (#97) 2017-04-25 11:24:55 -04:00
Craig Peterson 4f0b605908 alias can have orange cloud 2017-04-20 07:13:21 -06:00
Pat Moroney e9f6749c0f Name.com now manages NS records by itself. (#92) 2017-04-19 15:20:26 -06: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 bb1dcac520 Testing and fixing AD (#74)
* updates to AD

* fix linux build
2017-04-13 10:19:51 -06:00
Craig Peterson ff6c4289fa namecheap: Sorting nameservers (#72)
Partially fixes #69
2017-04-10 19:26:19 -06:00
Derek Gottlieb eddb66caa5 Correct docs to reflect supported values for cloudflare_proxy[_default] (#71)
Also correct other minor typos
2017-04-10 19:26:11 -06:00
Craig Peterson d205c8b4ed Adding gandi to integration suite. Fixing bugs. (#57)
* Adding gandi to integration suite. Fixing bugs.
Fixes #35
Fixes #36

* small fixes

* gandi docs
2017-03-27 16:03:01 -06:00
Craig Peterson 7073b8f989 getting tests setup for r53. Not mixing deletes and other changes in same changeset. 2017-03-22 13:08:23 -06:00
Craig Peterson 2ac43a424b Letting you run only some tests. Way to document failures in individual providers and skip. 2017-03-22 10:40:47 -06:00
Craig Peterson 854c84e652 Update bind docs and Getting Started (#53)
* intitial work for bind refactor

* relax requirement that creds.json exists.

* Updating bind docs.
Fixes #48

* typo

* can exclude provider from default set in creds.json

* Add bind to integration tests. Fix for IDNs.
2017-03-22 10:38:08 -06:00
Anthony Eden 4fef4a8550 DNSimple provider (#43)
* Implement a basic DNSimple provider.

Handles domain delegation as well as record create, update, and delete.

Note that this is completely untested at the moment. It’s so alpha it might burn your face off.

* Add some inline comments. Always use the StackExchange libs.

* Clean up dnsimple docs a little

* This will need to be changed before merging.

* Import the dnsimple dnscontrol package from its expected path

* Properly build the FQDN and implement record listing so create/update/delete are used correctly.

* Add support for overriding base URL to allow connection to sandbox.

* Vendor dnsimple-go and its dependencies.

* Remove unnecessary doc file.

* Use dnsutil.AddOrigin for combining record name and origin.

* Modifying dnsimple provider to pass tests
2017-03-18 19:58:47 -06:00
Craig Peterson 101916a6e4 Integration Testing framework (#46)
* integration test started

* details

* More tests.

* idn tests and punycode (not tested fully because I'm on an aiplane)

* test for dual provider compatibility

* readme for tests

* vendor idna

* fix casing
2017-03-16 22:42:53 -07:00
Craig Peterson 004d817349 bind puts output inside correction text 2017-03-14 14:47:40 -07:00
Craig Peterson 858ab000ae moving provider imports to dedicated package 2017-03-14 00:15:55 -07:00
Mark Henderson 09bc5ee38c
Added case for quad-A to bind provider 2017-01-13 16:29:38 -05:00
Mark Henderson 988278b612
Don't fatal out on unknown record types in BIND 2017-01-13 16:20:22 -05:00
Craig Peterson 0d386c20ec Fix bug in name.com provider
Fixes #28
2017-01-13 12:30:04 -07:00
Craig Peterson b8357f499a fix fmt 2017-01-12 07:31:32 -07:00
Craig Peterson 12f006441b Refactoring diff package interface (#22)
* initial refactoring of diffing

* making cloudflare and others compile

* gandi and gcloud. no idea if gandi works anymore.

* r53

* namedotcom wasn't working.
2017-01-11 12:38:07 -07:00
Craig Peterson ba94dc9777 switching gcloud to use json mode. Not backward compatible. (#24) 2017-01-11 12:09:14 -07:00
Craig Peterson 20bf7ef43b Seperate create-domains command (#21)
* removing auto-create from gcloud

* adding create-domains command

* implement DomainCreator for r53
2017-01-03 13:26:08 -07:00
Craig Peterson e18d4f9b2e google creates zones as needed 2017-01-03 10:24:00 -07:00
Craig Peterson 049045e1ad fix bind 2016-12-16 13:30:45 -07:00
Craig Peterson 971ba8a16e removing silly bind ttl 2016-12-16 13:28:02 -07:00
Craig Peterson 1ea80d5347 Nameserver overhaul (#17)
* go changes to support nameservers_from

* clear nameservers before giving to dsp.

* work

* work

* nameserver updates.

* remove unused

* name.com stinks at NS records.

* whitespace

* removing web(belongs in own repo). First sketch of DSP vs NAMESERVER_FROM

* add DEFAULTS to replace defaultDsps.

* initial gcloud provider. Simple records work.

* namedotcom can do subdomain ns records now.

* fix for mx and txt

* kill dsp acronym
2016-12-16 13:10:27 -07:00
Greg Bray 471609094d Activate AD Remove-DnsServerResourceRecord by removing-Whatif (#11) 2016-09-29 16:58:39 -06:00
Craig Peterson b32eb62ebe Uncomment AD delete commands (#9)
* Actually run AD delete commands

* keep whatif
2016-09-28 14:05:13 -06:00
Craig Peterson 162a4a2ee1 active directory delete command (#6)
* commented out ad delete command

* compiles

* newline

* change order

* echo, and specify content

* echo all fields

* Purge checking for AD.

* whatif

* whatif and comment
2016-09-28 13:35:44 -06:00
Craig Peterson ef0bbf53af migrate code for github 2016-08-22 18:31:50 -06:00