Commit graph

433 commits

Author SHA1 Message Date
Fernandez Ludovic
e7a90b9471 chore: migrate to go module (v3.0.0)
- chore: update dependencies: use version with go modules.
- chore: remove dep.
- chore: update backoff imports.
- chore: init go module.
- chore: update CI.
- chore: mod v3
- chore: update docker image.
2019-08-07 14:07:47 +02:00
David Dymko
905b1eb80b vultr: quote TXT record (#940) 2019-07-30 20:39:25 +02:00
Ludovic Fernandez
7f6155e865
vultr: invalid record type. (#932) 2019-07-22 23:29:32 +02:00
David Dymko
87be19588b Switch Vultr to official client (#929) 2019-07-17 21:01:50 +02:00
Ludovic Fernandez
0dbc28193b
feat: joker username and password. (#927) 2019-07-17 02:39:17 +02:00
Wettle
c4a05dfab4 Add DNS provider for namesilo (#916) 2019-07-05 03:38:43 +02:00
Ludovic Fernandez
8dcc55b828
doc: improve Cloudflare documentation. (#913) 2019-07-04 18:10:43 +02:00
Frans Kuipers
6647ce7b1d Add support for versio.nl (#909) 2019-06-27 19:30:10 +02:00
Ludovic Fernandez
ac65f6c6a9
chore: update dns providers libs. (#877) 2019-06-24 20:08:55 +02:00
Ludovic Fernandez
83618fed79
vegadns: refactor tests. (#910) 2019-06-24 18:34:04 +02:00
Felix Meißner
346d3222d7 Prevent sending empty body in OTC DNS Provider (#903) 2019-06-14 14:19:38 +02:00
Zimbo Boyd
a0d59b85fe digitalocean: LEGO_EXPERIMENTAL_CNAME_SUPPORT support (#885) 2019-05-14 15:20:49 +02:00
Ludovic Fernandez
437d6a0408
doc: remove TODO. (#878) 2019-05-06 19:37:51 +02:00
Zlatko Čalušić
5bf36f544a exec: serial behavior (#881) 2019-05-05 20:11:58 +02:00
Ludovic Fernandez
29c63545ce
gcloud: fix zone visibility. (#875) 2019-05-03 01:27:46 +02:00
Jason Harmon
007888f9dc Add support for EasyDNS (#867) 2019-04-29 02:03:04 +02:00
Alexander D. Kanevskiy
4c9d1979fc Add support for Joker.com DMAPI (#870) 2019-04-28 14:33:50 +02:00
Werberson
a72639ef51 Add support for Bindman DNS provider (#869) 2019-04-27 18:50:40 +02:00
Matthew Horan
62e3f4fc01 Use fqdn to get zone in gcloud Present/CleanUp (#861) 2019-04-27 16:15:31 +02:00
Ludovic Fernandez
8edce3b2cf
cloudns: fix TTL and status validation (#856) 2019-04-17 22:41:51 +02:00
Ludovic Fernandez
7c680a2438
Adds 'Since' to DNS providers documentation (#854) 2019-04-17 21:32:38 +02:00
Ludovic Fernandez
6878dbbeba
doc: enhance Route53 documentation. (#853) 2019-04-17 20:58:34 +02:00
Chris Allen
ca7664d856 gcloud: use public DNS zones (#852) 2019-04-12 20:37:29 +02:00
Kazumichi Yamamoto
f400ec5163 sakuracloud: supports concurrent update (#850) 2019-04-09 22:56:12 +02:00
Ludovic Fernandez
5d557fdc6d
Adds renew hook (#845)
* chore: update golangci-lint.
* feat: support renew-hook.
2019-04-02 18:38:23 +02:00
evs-ch
51447bb2e7 Use provided ZoneName instead of domain (#839) 2019-03-25 12:19:13 +01:00
tbe
b668bde5e4 pdns: fix wildcard with SANs (#837)
The current implementation of the DNS challenge does not allow
to set multiple TXT records at once.

As PowerDNS has the concept of record sets, and so all records
for the same type and name must set during one call, we would override
existing records.

To avoid this, we merge the new TXT record with existing ones
2019-03-21 15:46:21 +01:00
andig
0ce6ba36b9 Add DNS Provider for Domain Offensive (do.de) (#835) 2019-03-21 11:52:01 +01:00
Ludovic Fernandez
3edb75872d
chore: migrate to new org. (#824) 2019-03-11 17:56:48 +01:00
Ludovic Fernandez
219222fdda
Use canonical imports (#822)
* fix: challenge are not required for revoke.
2019-03-11 16:54:35 +01:00
Ludovic Fernandez
62fea05e21
Automatic generation of documentation (#818)
* generate a detailed CLI help
* generate a documentation site
* new readme
2019-03-08 19:47:06 +01:00
Ludovic Fernandez
235ab6653f
oraclecloud: better way to get private key. (#814) 2019-03-05 19:57:04 +01:00
Jens Sauer
67b329e3e3 OVH: Refresh zone after deleting challenge record (#815)
After removing the challenge record from OVH, the zone itself
does not get refreshed and leaving the obsolete record in place.

Calling '/domain/zone/ZONE/refresh' after deleting the record will
apply the changes to the zone.
2019-03-04 19:17:53 +01:00
tzakrajs
1c309c9c80 Add DNS Provider for ClouDNS.net (#813) 2019-03-01 19:09:00 +01:00
Sugi
52eceeb8d2 OracleCloud: ttl config and timeout (#812) 2019-02-28 08:19:42 +01:00
Ayan George
4c346c9d92
Merge branch 'master' into refactor/update-golangci-lint 2019-02-26 10:58:15 -05:00
Sugi
af67943e94 Add DNS Provider for Oracle Cloud (#808) 2019-02-26 15:41:02 +01:00
jkahrs
a144800896 hostingde: fix client fails if customer has no access to dns-groups (#809) 2019-02-26 15:25:34 +01:00
Daniil Rutskiy
7f6b708439 vscale: getting sub-domain (#805) 2019-02-22 17:33:12 +01:00
Daniil Rutskiy
6cb9b249d2 selectel: getting sub-domain (#803) 2019-02-22 17:24:17 +01:00
Yoan Blanc
7cdfe9b36b exoscale: update library (#800) 2019-02-18 10:49:41 +01:00
Fernandez Ludovic
a8b2397631 chore: update golangci-lint. 2019-02-16 14:56:15 +01:00
Daniil Rutskiy
d891600a89 fix: TXT records clean up for Vscale DNS provider (#798) 2019-02-14 15:35:49 +01:00
Daniil Rutskiy
938ba435d6 fix: TXT records clean up for Selectel DNS provider (#797) 2019-02-14 15:30:03 +01:00
Wim Fournier
62e0e54f23 Adds support for Openstack Designate as a DNS provider (#786) 2019-02-07 16:10:07 +01:00
Ludovic Fernandez
6fdf45c474
chore: update golangci-lint. (#782) 2019-02-06 18:15:53 +01:00
Ludovic Fernandez
f05aa4c241
fix: endpoint with path. (#781) 2019-02-04 22:54:54 +01:00
Ludovic Fernandez
3019d10801
chore: migrate to nrdcg. (#779) 2019-02-04 22:43:10 +01:00
Ludovic Fernandez
c4730a6ec3
fastdns: Do not overwrite existing TXT records (#774) 2019-02-04 22:12:03 +01:00
Christopher Banck
0e6e4807b1 option to specify gcloud service account json by env as string (#776)
Added the option to provide the gcloud service account as a string via the environment variable `GCE_SERVICE_ACCOUNT` in addition to the already available option to specify a filepath to a keyfile `GCE_SERVICE_ACCOUNT_FILE`.
2019-02-01 13:14:57 +01:00
Ludovic Fernandez
27f26ed3d1
namecheap: fix panic. (#764) 2019-01-24 21:40:44 +01:00
Ludovic Fernandez
4f6d1077a2
alicloud: fix pagination. (#767) 2019-01-24 19:56:19 +01:00
fuku
977aa94061 nifcloud: Change DNS base url (#765) 2019-01-22 08:34:45 +01:00
Elen Eisendle
77afd0f732 Add support for zone.ee as a DNS provider (#751) 2019-01-20 12:27:35 +01:00
Ludovic Fernandez
a43ec709e8
gcloud: More detailed information about Google Cloud DNS. (#761) 2019-01-16 21:01:53 +01:00
Ludovic Fernandez
38f335dbe1
chore: update golangci-lint. (#757) 2019-01-11 19:23:27 +01:00
Ludovic Fernandez
b1fd570987
fix: rfc2136 must be run sequentially. (#745) 2019-01-09 08:23:33 +01:00
Ludovic Fernandez
41737739f2
transip: concurrent access to the API. (#744) 2019-01-09 08:18:12 +01:00
bzub
3105a01a1c dns/gcloud: Fix check for GCE_PROJECT when using gcloud (#752) 2019-01-09 08:12:22 +01:00
bzub
c938de68f2 Use GCE_PROJECT for project always, if specified (#750) 2019-01-08 14:39:12 +01:00
Ludovic Fernandez
9979087572
fix: gcloud. (#742) 2019-01-02 20:45:17 +01:00
Ludovic Fernandez
820c2b7531
gcloud: fix for wildcard (#740) 2018-12-22 00:53:05 +01:00
smartwang
cb3c4c7937 alidns: add support to handle more than 20 domains (#739) 2018-12-20 11:52:34 +01:00
Ludovic Fernandez
42941ccea6
Refactor the core of the lib (#700)
- Packages
- Isolate code used by the CLI into the package `cmd`
- (experimental) Add e2e tests for HTTP01, TLS-ALPN-01 and DNS-01, use [Pebble](https://github.com/letsencrypt/pebble) and [challtestsrv](https://github.com/letsencrypt/boulder/tree/master/test/challtestsrv) 
- Support non-ascii domain name (punnycode)
- Check all challenges in a predictable order
- No more global exported variables
- Archive revoked certificates
- Fixes revocation for subdomains and non-ascii domains
- Disable pending authorizations
- use pointer for RemoteError/ProblemDetails
- Poll authz URL instead of challenge URL
- The ability for a DNS provider to solve the challenge sequentially
- Check all nameservers in a predictable order
- Option to disable the complete propagation Requirement
- CLI, support for renew with CSR
- CLI, add SAN on renew
- Add command to list certificates.
- Logs every iteration of waiting for the propagation
- update DNSimple client
- update github.com/miekg/dns
2018-12-06 22:50:17 +01:00
YAEGASHI Takeshi
4e842a5eb6 Azure: Do not overwrite existing TXT records (#726) 2018-12-04 21:04:39 +01:00
Ludovic Fernandez
09a3292757
fix: clouflare error. (#721) 2018-11-15 22:41:54 +01:00
Fernandez Ludovic
eb04d860c4 feat: add to list. 2018-11-09 01:53:21 +01:00
Fernandez Ludovic
265e523138 refactor: add realm because it's fun. 2018-11-09 01:43:56 +01:00
Fernandez Ludovic
bba525fbce doc: fix readme. 2018-11-08 23:39:19 +01:00
Fernandez Ludovic
58b757cd76 feat: add provider httpreq. 2018-11-08 19:22:52 +01:00
Daniil Rutskiy
e89afae4f8 Add DNS Provider for Vscale (#705) 2018-11-08 10:31:42 +01:00
Maarten den Braber
1837a3bb1c Add DNS Provider for TransIP (#703) 2018-11-06 11:56:28 +01:00
Stephan Müller
42d8637d87 Add DNS Provider for inwx (#687) 2018-11-06 11:49:50 +01:00
mattn
5f383ec4f4 Add DNS Provider for MyDNS.jp (#628) 2018-11-04 15:37:29 +01:00
Daniil Rutskiy
2131723cc8 Support DNS Provider Selectel (#698) 2018-11-04 02:36:04 +01:00
Kazuki Sawada
5992cc0ece conoha: fix finding domain id (#697) 2018-11-02 12:59:41 +01:00
Kazuki Sawada
8556397ec0 add ConoHa DNS provider (#692) 2018-11-02 02:30:09 +01:00
Jonathan Camp
1151b4e3be Update Azure auth to support instance metadata service (#684) 2018-10-23 10:03:31 +02:00
Konni Hartmann
9b2a3a1873 netcup: make unmarshalling of api-responses more leniant. (#685) 2018-10-23 02:01:13 +02:00
Ludovic Fernandez
a68cb214d3
Change Aurora DNS client (#683) 2018-10-22 20:42:22 +02:00
Andrew Savinykh
5511373184 dnsmadeeasy: log response body on error (#682) 2018-10-19 11:49:17 +02:00
Ludovic Fernandez
1d1b08ac15
enhance the WithLiveTestRequirements algorithm (#681)
* refactor: migrate test to envTest.

* refactor: enforce WithLiveTestRequirements logic.

* chore: remove gometalinter.

* fix: godoc.

* doc: add Docker badge.
2018-10-18 22:32:00 +02:00
Nick Maliwacki
6de343314c duckdns: fix subsubdomain (#676) 2018-10-16 21:28:49 +02:00
Ludovic Fernandez
4d21f8eec1
Add a test helper to manage env vars. (#675) 2018-10-16 17:52:57 +02:00
muratmoon
160d6fe603 cloudflare: removed dot suffix from authzone while searching for zone. (#672) 2018-10-14 21:11:35 +02:00
Craig Steinberger
484f0e5e35 Add DNS Provider for DreamHost (#668)
* add support for DreamHost DNS
2018-10-13 16:01:46 +02:00
Ludovic Fernandez
122c354163
Homogenization of the DNS provider tests (#671)
* refactor: min TTL
* refactor: sandbox.
* refactor: tests homogenization.
* refactor: missing require.
2018-10-12 19:29:18 +02:00
SALLEYRON Julien
01c63ec08d fix: bugs. (#670) 2018-10-11 15:49:33 +02:00
Brent Hughes
8a5cdcb4ef Add DNS Provider for Stackpath (#660) 2018-10-09 21:58:32 +02:00
Ludovic Fernandez
20d50a559f
route53: fix challenge. (#665) 2018-10-09 19:03:07 +02:00
Ludovic Fernandez
21f6cd8a12
dnsimple: fix challenge. (#666) 2018-10-09 18:51:49 +02:00
Ludovic Fernandez
79f14b5ab2
The TTL Min limit should throw an error. (#663) 2018-10-09 18:22:45 +02:00
Ludovic Fernandez
a90f03791c
namecheap: fix challenge (#661) 2018-10-09 18:16:05 +02:00
NicoMen
a07a82946f gandiv5: fix DNS Challenge (#664) 2018-10-08 16:51:29 +02:00
Matt Farmer
fa455bc037 Add support for reading DNS provider setup from files (#535) 2018-10-06 15:33:15 +02:00
Ludovic Fernandez
37ef38c4fc Add additional configuration environment variables to CLI help. (#659)
* feat: add additional configuration environment variables to CLI help.

* review: packages order.
2018-10-04 15:28:06 +00:00
Ludovic Fernandez
18fe57183d
cloudflare: use the official go client. (#658) 2018-10-03 00:02:01 +02:00
Ludovic Fernandez
8a8aa2d81b
Cloudflare: support for CF_API_KEY and CF_API_EMAIL (#647) 2018-10-02 22:34:34 +02:00
Ludovic Fernandez
c09b12be08 fix: ns1 wildcard. (#657) 2018-10-02 20:21:02 +00:00
Ludovic Fernandez
ad20bf90ff Migrate to golangci-lint (#644)
* refactor: linting.

- errcheck
- govet
- golint
- goconst
- spellcheck
- ...

* refactor: migrate from gometalinter to golangci-lint.
2018-09-24 19:07:20 +00:00
Marques Johansson
58a023e92b Linode: updated to use the Linode APIv4 (#622) 2018-09-23 13:01:40 +02:00
Ludovic Fernandez
621237d072
fix: ns1 auth zone. (#640) 2018-09-21 17:47:58 +02:00
Ludovic Fernandez
3a46680b73 Fix: gcloud wildcard (#643)
* fix: gcloud wildcard.

* refactor: minor changes.
2018-09-21 15:28:50 +00:00
Ludovic Fernandez
ab0048544f
dns providers: fix errors. (#642)
* fix: gloud errors.
* fix: azure errors.
* fix: iij errors.
2018-09-20 23:18:13 +02:00
evs-ch
83e2300e01 Add DNS provider for hosting.de (#624) 2018-09-15 23:25:14 +02:00
Ludovic Fernandez
e94285fcf3
CloudXNS: client isolation. (#629) 2018-09-15 19:26:45 +02:00
Ludovic Fernandez
bba134ce87
Allow to configure TTL, interval and timeout (#634)
* feat: add GetOrDefaultXXX methods.
* refactor: configuration (alidns).
* refactor: configuration (azure).
* refactor: configuration (auroradns).
* refactor: configuration (bluecat).
* refactor: configuration (cloudflare).
* refactor: configuration (digitalocean).
* refactor: configuration (dnsimple).
* refactor: configuration (dnmadeeasy).
* refactor: configuration (dnspod).
* refactor: configuration (duckdns).
* refactor: configuration (dyn).
* refactor: configuration (exoscale).
* refactor: configuration (fastdns).
* refactor: configuration (gandi).
* refactor: configuration (gandiv5).
* refactor: configuration (gcloud).
* refactor: configuration (glesys).
* refactor: configuration (godaddy).
* refactor: configuration (iij).
* refactor: configuration (lightsail).
* refactor: configuration (linode).
* refactor: configuration (namecheap).
* refactor: configuration (namedotcom).
* refactor: configuration (netcup).
* refactor: configuration (nifcloud).
* refactor: configuration (ns1).
* refactor: configuration (otc).
* refactor: configuration (ovh).
* refactor: configuration (pdns).
* refactor: configuration (rackspace).
* refactor: configuration (rfc2136).
* refactor: configuration (route53).
* refactor: configuration (sakuracloud).
* refactor: configuration (vegadns).
* refactor: configuration (vultr).
2018-09-15 19:07:24 +02:00
SALLEYRON Julien
ad34a85dad refactor: rename Alibaba DNS env var. (#636) 2018-09-13 16:15:26 +02:00
mattn
088c707d4c Use path/filepath instead of path (#633) 2018-09-12 00:41:30 +02:00
NicoMen
035c27cdb7 Check error to avoid panic due to nil client (#631) 2018-09-10 09:52:43 +02:00
yuexiaoyun
c22f8d841f Add DNS Provider for ALIYUN DNS (#620) 2018-09-08 15:17:23 +02:00
Laurendus
5a1c3d2134 Add DNS Provider for netcup (#610) 2018-09-08 14:08:07 +02:00
Conor Mongey
ef7cd04002 Route53: Make it possible to configure from the env (#603) 2018-09-08 13:49:24 +02:00
keisuk-t
725b6b816a Add DNS Provider for IIJ (#606) 2018-09-08 12:52:36 +02:00
Yoan Blanc
f3cfe4a24a dnsprovider: upgrade egoscale to v0.11.1 (#617) 2018-09-08 12:09:59 +02:00
Conor Mongey
8b6701514c Route53: make provider timeouts configurable (#588) 2018-07-18 17:37:35 +02:00
Bill Shupp
baad3dea99 Add EXEC_MODE=RAW support to DNS Provider exec (#586) 2018-07-18 01:19:48 +02:00
fl1pfl0p
6edbd1572e DuckDNS: fix TXT record update url (#601) 2018-07-18 00:17:51 +02:00
Steve Coursen
771679fe3d NS1: use the authoritative zone and not the domain name (#463) 2018-07-14 12:31:57 +02:00
JP Phillips
255296ec82 gcloud: update findTxtRecords to use Name=fqdn and Type=TXT, use in Present and Cleanup (#594) 2018-07-14 12:02:03 +02:00
Daniel McCarney
04e2d74406 DNS Providers: Add ACME-DNS provider. (#591)
This commit adds a new DNS provider for
[acme-dns](https://github.com/joohoi/acme-dns) to allow Lego to set
DNS-01 challenge response TXT with an ACME-DNS server automatically.
ACME-DNS allows ceding minimal zone editing permissions to the ACME
client and can be useful when the primary DNS provider for the zone does
not allow scripting/API access but can set a CNAME to an ACME-DNS
server.

Lower level ACME-DNS API calls & account loading/storing is handled by
the `github.com/cpu/goacmedns` library.

The provider loads existing ACME-DNS accounts from the specified JSON
file on disk. Any accounts the provider registers on behalf of the user
will also be saved to this JSON file.

When required, the provider handles registering accounts with the
ACME-DNS server domains that do not already have an ACME-DNS account.
This will halt issuance with an error prompting the user to set the
one-time manual CNAME required to delegate the DNS-01 challenge record
to the ACME-DNS server. Subsequent runs will use the account from disk
and assume the CNAME is in-place.
2018-07-09 19:28:01 +02:00
Area128
d30c293647 SOA-API-EDIT should be SOA-EDIT-API (#593)
according to https://doc.powerdns.com/authoritative/domainmetadata.html#soa-edit-api
2018-07-03 16:14:43 +02:00
Derek Chen
3a1c6202f6 Lightsail: Fix Domain does not exist error (#512) 2018-07-01 02:24:20 +02:00
fuku
f9c0fbd298 Add DNS Provider for NIFCLOUD DNS (#532) 2018-07-01 02:13:22 +02:00
Bill Shupp
3f09ecc0b1 Add DNS Provider for VegaDNS (#553) 2018-07-01 01:45:24 +02:00
Kazumichi Yamamoto
05921d9810 Add DNS Provider for SAKURA Cloud (#456) 2018-06-21 21:24:45 +02:00
Ludovic Fernandez
a1585a7b9a
Review DNS providers (#580)
* refactor: create log.Infof and log.Warnf
* refactor: review DNS providers.
    - use one `http.Client` by provider instead of one client by request
    - use the same receiver name `d` for all `DNSProvider`
    - use `http.MethodXXX`
* refactor: logger init.
2018-06-21 19:06:16 +02:00
Ludovic Fernandez
c4bbb4b819
Review DNS providers. (#565)
* refactor: review DNS providers.
2018-06-11 17:32:50 +02:00
AndreKR
5005315fff dns/exec: Allow passing the program to the provider directly (#573)
This adds a function NewDNSProviderProgram() to the exec provider that allows to set the program to run directly instead of via the environment variable. This is similar to how other providers allow to set their credentials.
2018-06-10 13:51:01 -06:00
Ludovic Fernandez
1b12c25e43 Add linters (#556)
* feat: add linters.
* fix: lint.
2018-05-30 16:03:55 -06:00
NicoMen
517f442fa3 Add details to the cloudflare error message (#452) 2018-05-30 20:26:07 +02:00
Dan Lüdtke
0593b64674 Fix gcloud naming inconsistency; parse projectID (#425)
This commit fixes the naming inconsistency of Google Cloud DNS being
named `googlecloud` in the source and `gcloud` in the user interface.
Furthermore, improving my previous commit, I realized that the project ID
is stored in the service account file. We can save one environment variable
when using service account file (e.g. in automation applications).
2018-05-30 20:20:21 +02:00
Ludovic Fernandez
e7fd871a9c
ACME V2 support (#555) 2018-05-30 19:53:04 +02:00
Daniel Alan Miller
8e9c5ac3e6 Adding output of which envvars are missing in Cloudflare and Azure (#537)
* Adding output of which envvars are missing in Cloudflare dns provider

* go fmt, duh

* Fixing & adding test(s)

* Adding azure missing env vars checking

* Fixing test

* Doh, fixing up expected output
2018-04-25 09:12:41 -06:00
dajenet
5922ca9269 Fix dnsimple api (#529) 2018-04-15 07:49:13 -06:00
Johannes Ebke
b2c4f3c84e route53: Use NewSessionWithOptions instead of deprecated New. Fixes #458. (#528) 2018-04-12 07:08:23 -06:00
Jefferson Girão
3c9be22bc0 Add Akamai FastDNS as DNS provider (#522)
* Adding support to Akamai FastDNS as DNS provider

* Adding fastdns to the list of dnsproviders
2018-04-03 08:22:13 -06:00
Kirby Files
5ebb80fb44 Add Bluecat DNS provider (#483) 2018-04-02 20:50:15 -06:00
Nick Maliwacki
d7fdc8f54a Add dns provider duckdns.org (#513)
* Add dns provider duckdns see http://www.duckdns.org/spec.jsp for more info

* Add DNS challenge provider 'exec' (#508)

As discussed in #505, this commits adds a very simple DNS provider which
calls out to an external program which must then add or remove the DNS
record.

* Update duckdns to support caddy, and cleanup some comments
2018-04-02 08:02:54 -06:00
Adrian Bjugård
1028c3b190 Add DNS-01 solver using the GleSYS API (#502)
* Add GleSYS DNS-01 solver

* API url is not overridden during tests

* Use logging package

* Correct documentation for NewDNSProvider
2018-03-31 08:33:48 -06:00
Alexander Neumann
2b18d40bab Add DNS challenge provider 'exec' (#508)
As discussed in #505, this commits adds a very simple DNS provider which
calls out to an external program which must then add or remove the DNS
record.
2018-03-27 08:10:38 -06:00
Remi Broemeling
2e0e9cd68f Slightly improve Dyn provider error reporting. (#473)
If Dyn responds with a 3xx or 4xx status code, information describing exactly
what went wrong is generally included in the body of the response (as part of
the typical Dyn JSON response). On the other hand, if Dyn responds with a 5xx
status code, we very likely have extremely limited information.

This commit modifies the reporting to display the explanatory messages included
in the body of the Dyn response for 3xx and 4xx status codes. The intent is to
make it much easier to determine what might be going wrong (when something is
going wrong).
2018-03-19 10:41:57 -06:00
Pat Moroney
91b13b10b9 add Name.com provider (#480)
* add Name.com provider

* add namedotcom provider env vars to output of cli.go
2018-03-14 11:43:09 -06:00
Derek Chen
bacb545c7a Add DNS provider: Lightsail (#460)
* add lightsail dns provider

* fix lint errors

* update exoscale.go

* add the docs for lightsail provider
2018-02-18 08:27:58 -07:00
Aaryaman Vasishta
4e330710a7 providers/azure: Refactor to work with Azure SDK version 14.0.0 (#490) 2018-02-14 13:28:02 -07:00
Giuem
06a8e7c475 Add DNS Provider for CloudXNS (#415)
* Add DNS Provider for CloudXNS

* Fix package path error

* Fix typo

CloudFlare -> CloudXNS

* Fix typo

makeReauest -> makeRequest

* Change http.Client to acme.HTTPClient
2018-02-02 20:41:35 +01:00
Ian Bishop
ed69aa0cc6 Fix PowerDNS zone URL, add leading slash (#476) 2018-02-02 20:32:18 +01:00
Zadkiel
e2b4c3a54f Add support for new Gandi Beta Platform: LiveDNS (#365)
* Add 'dns-01' in CLI usage's solver list

* Add Gandi Beta LiveDNS provider

* gandiv5: rename provider and enhance error messages

* gandiv5: clean old behavior comments

* gandiv5: clean old behavior comments
2018-02-02 20:22:33 +01:00
Yoan Blanc
62e0f1096f exoscale: update to latest egoscale version (#468)
Signed-off-by: Yoan Blanc <yoan.blanc@exoscale.ch>
2018-01-15 21:58:24 +01:00
Amrit Bera
922235d33e Added missing environment variable in the comments (#450) 2017-11-14 01:14:38 +01:00
Simon Merschjohann
aa94fb4696 Support for DNS Provider: GoDaddy (#416)
* Support for DNS Provider: godaddy

* GoDaddy DNS provider PUTs list instead of PATCH
2017-10-25 21:55:29 +02:00
Andy Wiens
addee401b0 added authorization to dns zones client (#428) 2017-09-25 21:57:58 +02:00
Sean Brandt
49b9503635 handle move of egoscale to exoscale (#430) 2017-09-13 15:40:58 -06:00
Edward Betts
e370f2a4c5 correct spelling mistake (#424) 2017-09-01 11:46:15 -06:00
Christian Groschupp
4dde48a9b9 Add DNS Provider for otc (#398)
* Add otc provider.

* Added tests for provider otc.

* Format dns_providers

* fix getZoneId

* Add for tests for provider otc.

* Add proxy to transport in otc provider.

* Use DefaultTransport in otc provider.

* Make loginRequest private in provider otc.

* better error handling in provider otc.

* add more tests for provider otc.
2017-07-20 00:54:35 +02:00
jraby
a5eaf85c89 RFC2136_TIMEOUT: tuneable DNS propagation timeout (#386)
Useful for slower DNS environment.

Time string is parsed with time.ParseDuration, so units are mandatory
(eg. RFC2136_TIMEOUT=10m)
2017-07-17 22:05:47 +02:00
James Nugent
b2aab0377c dns/route53: Allow specifying hosted zone ID (#345)
* dns/route53: Allow specifying hosted zone ID

This commit adds support for specifying hosted zone ID via the
environment variable AWS_HOSTED_ZONE_ID. If this is not specified, the
previous discovery process is used.

This is useful in environments where multiple hosted zones for the same
domain name are present in an account.

* dns/route53: Fix up getHostedZoneID method params

Now that getHostedZoneID is a method on the DNSProvider struct, there is
no reason for it to take the Route53 client as a parameter - we can
simply use the reference stored in the struct.
2017-07-17 21:50:53 +02:00
Dan Lüdtke
dd74b99f8d RFC: providers/dns: add Service Account authorization option to gcloud (#408)
* providers/dns: add Service Account authorization option to gcloud

* providers/dns: use os.LookupEnv() for local ENV var
2017-07-17 21:40:57 +02:00
theshamuel
25dd6b8fd7 Update azure.go (#391) 2017-05-03 16:53:59 +02:00
jraby
b1fd84c6ff Add description for RFC2136 env vars (#385) 2017-04-25 20:01:22 -06:00
Luca Guidi
7668fe9274 Update error messages for DNSimple provider (#373) 2017-04-04 01:41:49 +02:00
Unknown
1293a4a35b Fix breaking change in azure SDK
Fixes #372
2017-04-04 00:33:46 +02:00
Luca Guidi
e526fb5a1a Use DNSimple official Go client (#363) 2017-03-17 19:40:51 +01:00
Simone Carletti
be23e242c1 Fix invalid package name (#342) 2017-02-10 23:53:49 -07:00
Fabio Berchtold
ce8fb060cb fix Vultr API calls (#335)
* fix Vultr API calls

Signed-off-by: Fabio Berchtold <jamesclonk@jamesclonk.ch>

* rename Vultr DNS structs

Signed-off-by: Fabio Berchtold <jamesclonk@jamesclonk.ch>
2016-12-27 00:46:13 +01:00
Pavel Borzenkov
cc94601612 Fix build with azure-sdk v7.0.0-beta (#323)
Signed-off-by: Pavel Borzenkov <pavel.borzenkov@gmail.com>
2016-11-30 23:05:55 +01:00
Thomas Recloux
0792ce9a9f Extract from CLI the name -> DNS provider mapping (#313)
* Extract from CLI the name -> DNS provider mapping

This avoids duplication in lib usage 
Ex : https://github.com/containous/traefik/pull/738#issuecomment-258810469

* Verify that we retrieve the good provider
2016-11-18 14:12:13 +01:00
decker
9f86882f77 Add dns provider for dnspod (#312) 2016-11-14 11:41:37 +01:00
Thomas Recloux
7615653a08 Add Exoscale DNS provider (#311) 2016-11-07 08:37:57 +01:00
Luke Hanley
800538520e Adds support for Rackspace DNS (#309)
* Working Rackspace Provider

* Finalize Rackspace DNS provider

Closes out #208. Adds mock API and testing.
2016-11-04 10:29:14 +01:00
Matthew Buckett
501b7b6e0f Remove existing records in gcloud (#308)
When record already exists in gcloud we can't add a new record without removing the other one first. This is a simple fix that doesn't attempt to create multiple entries for the record but just removes the previous data.

fixes #218
2016-11-02 15:47:17 +01:00
Matthew Buckett
85200a157c Azure DNS Provider (#307)
This is a first attempt at a working Azure DNS challenge provider.

Fixes #180
2016-11-02 15:33:57 +01:00
xenolf
72914df00f Add OCSP must staple support
Introduces a new command line switch `--must-staple` to `run` and `renew`.
Using this switch will add the must staple TLS extension to the CSR generated by lego and thus also to the generated certificate.
This does not work with user specified CSRs!

Fixes #270
2016-10-27 11:22:10 +02:00
Clint Armstrong
4bb8bea031 add memcached provider (#296)
* add memcached provider

* add testing
2016-10-24 11:03:18 +02:00
xenolf
bb51288200 Merge pull request #299 from edeckers/add-auroradns
Add AuroraDNS support
2016-10-18 10:26:37 +02:00
David Calavera
5f9a041680 Add NS1 DNS provider. (#295)
* Add NS1 DNS provider.

Integrates Lego with NS1 using their rest API.
It uses NS1's official Go package as client:

https://github.com/ns1/ns1-go

Signed-off-by: David Calavera <david.calavera@gmail.com>

* Add NS1 to the cli handlers.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-10-18 10:20:15 +02:00
Ely Deckers
9058a3fa02 Add AuroraDNS-provider 2016-10-16 16:05:54 +02:00
xenolf
96d81ae561 Fix integer overflow in gandi provider tests
Fixes #289
2016-10-04 23:08:24 +02:00
xenolf
ca0bd606b2 Merge pull request #280 from timewasted/dns-provider-linode
Add support for Linode as a DNS provider.
2016-09-26 10:46:22 +02:00
Stuart
d5799a1f37 Tighten permissions on challenge files and directories 2016-09-04 04:06:18 -04:00
Ryan Rogers
5656b9df20 Add support for Linode as a DNS provider. 2016-08-29 12:37:19 -07:00
xenolf
160cb3b6e8 Merge pull request #272 from porjo/master
Add PowerDNS provider
2016-08-24 00:45:37 +02:00
JP
ac63d9748d add txt and name to query params, remove Type check 2016-08-22 14:03:32 -05:00
Ian Bishop
63a05d58a6 Add PowerDNS provider 2016-08-19 18:32:27 +10:00
Ryan Richard
de8a56bde8 Fix GoogleCloud DNS challenge to allow subdomains
Fixes #257

Previously the google cloud provider assumed the domain being provided
was also the authoritative zone. This fix uses an acme function to
recursively lookup the authoritative zone for a provided domain.
2016-08-11 13:39:07 -05:00
Bo Shi
028e412850 Filter Google Cloud DNS List() calls
Make a more efficient API call to only fetch the name of interest.
2016-07-21 19:05:16 +00:00
xenolf
58ead76066 Merge pull request #238 from moomerman/dnsmadeeasy
Add DNSProvider for DNSMadeEasy (http://dnsmadeeasy.com/)
2016-07-10 04:39:59 +02:00
xenolf
b7b05e88db Merge pull request #233 from disaster37/master
Add OVH DNS provider
2016-07-04 15:00:59 +02:00
Richard Taylor
108eaea79b Add DNSProvider for DNSMadeEasy (http://dnsmadeeasy.com/) 2016-06-28 22:48:06 +01:00
disaster
cc40650b80 lauch go fmt to format the change 2016-06-24 18:23:28 +00:00
Chris Marchesi
64f8e0d225 providers/dns/route53: Adjust DNS challenge TTL to 10 seconds
While more than likely never to come up in a real-world situation,
during renewal integration testing a value of 120 seconds has
proven to be too high (the old challenge record has not expired
by the time the new one is created).
2016-06-17 16:07:37 -07:00
disaster
4f6c1d470f Add OVH DNS provider 2016-06-16 21:11:19 +02:00
xenolf
1389afd8d8 Better cloudflare API error handling. Report all errors if more then one error is available. 2016-05-19 18:33:35 +02:00
Andrew E. Bruno
ecf664eaef Fixes #199
Dyn provider was using incorrect zone in Present and Cleanup functions.
This uses FindZoneByFqdn() to find the correct zone for use in the
subsequent API calls.
2016-04-26 22:36:48 -04:00
xenolf
06124e0954 Merge pull request #201 from janeczku/route53-fix-priv-zone
Route 53: Make sure we don't provision to a private hosted zone
2016-04-22 02:03:12 +02:00
JanB
4d9e4f1487 Make sure we don't provision to a private hosted zone
Route 53 allows multiple zones with the same name to co-exist in an
account. The most common use case for this is a split-view DNS with one
private and one public zone for the same domain name. This patch makes
sure we don’t ever provision the authorization record to the private
zone.
The other case where a user has multiple public zones with the same
name is not covered here since this would require a bigger change in
code in order to determine which of the zones is active from the
viewpoint of the internet. Also this is probably an edge use case that
can be addressed once it comes up in the issues.
2016-04-21 15:47:43 +02:00
JanB
65321943ba Fix: DNSimple passes not-a-FQDN string to FindZoneByFqdn() 2016-04-17 04:43:43 +02:00
LukeHandle
dbad97ebc6 Retry logic for dnsQuery
Added a slice of NS to be used when retrying queries. Also used with FindZoneByFqdn()
Adjusted 2 error messages given to better differentiate the returned error string
2016-04-12 00:24:11 +01:00
xenolf
74c6bbee86
Fix a couple of lint and fmt issues. 2016-04-08 01:21:01 +02:00
xenolf
ca19a90028 Merge pull request #176 from willseward/do-authzone
DigitalOcean uses FindZoneByFqdn
2016-03-28 18:28:34 +02:00
Jan Broer
9f1b9e39af Switch route53 provider to the official AWS SDK
Fully backwards compatible in terms of credential mechanisms
(environment variables, shared credentials file, EC2 metadata). If a
custom AWS IAM policy is in use it needs to be updated with permissions
for the route53:ListHostedZonesByName action.
2016-03-27 20:22:09 +02:00
Wills Ward
b14cf9e756 digital ocean uses FindZoneByFqdn 2016-03-26 20:19:49 -05:00
xenolf
4c1e6a183c Merge pull request #171 from xi2/gandi-add-live-test
Gandi DNS: add live test
2016-03-25 22:38:18 +01:00
Michael Cross
e99d2ee63f Gandi DNS: add live test 2016-03-24 23:21:35 +00:00
Michael Cross
3d7abd9093 Gandi DNS: use acme.FindZoneByFqdn function 2016-03-24 22:23:50 +00:00
xenolf
8512faba3b Merge pull request #142 from LukeHandle/patch-dns-providers
Use zone name when talking to DNS APIs
2016-03-24 09:32:06 +01:00
xenolf
af94ecc8b4 Adjust cloudflare provider timeout values to better cope with spikes in propagation time. Fix #167 2016-03-23 23:55:15 +01:00
xenolf
250bb86a2b Revert "Updated timeout for cloudflare dns challenge" 2016-03-23 23:48:20 +01:00
xenolf
1ee5cbd9e8 Merge pull request #163 from rgl/master
Add DNS challenge provider for Vultr.
2016-03-23 22:44:58 +01:00
Jorrit Salverda
2eb4adca59 Updated timeout for cloudflare dns challenge
Updated timeout for cloudflare dns challenge record propagation to fix issue as described in https://github.com/xenolf/lego/issues/167
2016-03-23 22:38:12 +01:00
Rui Lopes
4d7223057d Add DNS challenge provider for Vultr. 2016-03-23 20:35:23 +00:00
Michael Cross
6c2e92dd92 Gandi DNS: Unexport Endpoint variable 2016-03-21 18:47:17 +00:00
LukeHandle
20ab8300eb Use zone name when talking to DNS APIs
This should handle multiple zones more efficiently
2016-03-21 00:18:49 +00:00
Brett Vickers
47219adc00 Make DNS provider credential-handling more consistent.
Different DNS providers were handling credentials in different ways.
Some were reading credential environment variables in cli_handlers.go
and then passing them into the NewDNSProvider function, while others
were reading the environment variables within their NewDNSProvider
functions.

This change replaces each DNS challenge's NewDNSProvider function with
two new functions: (1) a NewDNSProvider function that takes no
parameters and uses the environment to read credentials, and (2) a
NewDNSProviderCredentials that takes credentials as parameters.
2016-03-20 11:40:30 -07:00
xenolf
bc8cfbe0d6 Merge pull request #162 from xi2/googlecloud
googlecloud dns: Make package name match import path
2016-03-19 22:18:49 +01:00
xenolf
c1b0d4387d Merge pull request #105 from aebruno/dns-dyn
Add Dyn DNS provider
2016-03-19 22:18:25 +01:00
Andrew E. Bruno
b10c35bba1 golint fixes.
- dynRequest should be private to dyn package
- Fix JobID name
2016-03-19 16:14:23 -04:00
Michael Cross
516d2a65e1 googlecloud dns: Make package name match import path
Also, add package description
2016-03-19 18:20:01 +00:00
xenolf
cbcaa2da50 Fix namecheap test 2016-03-19 18:05:35 +01:00
xenolf
4562a14383 Fix a few golint errors. 2016-03-19 17:53:16 +01:00
xenolf
e06278fead Make DO and namecheap providers use a HTTP client with a timeout. 2016-03-19 17:47:26 +01:00
xenolf
0ba8d6993b Rename googlecloud provider files to be more in-line with the other providers. 2016-03-19 17:40:12 +01:00
Andrew E. Bruno
9f8d5e4076 Add timeout to HTTP client 2016-03-18 23:20:58 -04:00
Peter Waldschmidt
4da4506839 Add DNS challenge provider for Google Cloud DNS
Use GCE_PROJECT to designate your GCE project.

Authentication is automatically picked up from gcloud credentials if
running locally and from GCE metadata if run within Google Cloud.

Requires at least permission scope
"https://www.googleapis.com/auth/ndev.clouddns.readwrite"
2016-03-18 11:22:33 -04:00
Andrew E. Bruno
1de97a90da Move dyn provider out of acme package per #144 2016-03-17 22:30:21 -04:00
Brett Vickers
55968bcd21 Add DNS challenge provider for namecheap. 2016-03-17 14:17:56 -07:00
Michael Cross
bcd4e51d65 Add Gandi DNS challenge provider 2016-03-16 18:32:56 +00:00
xenolf
118d9d5ec9 Adjust naming of webroot provider to be in line with DNS providers. 2016-03-16 11:32:09 +01:00
Adrien Carbonne
7ebad0e886 Relocating provider to lego/providers/http/webroot 2016-03-14 11:49:02 +01:00
xenolf
3252b0bcb9 Fix WaitFor calls 2016-03-11 04:52:59 +01:00
xenolf
2ae35a755d Rename provider types as provider names are already in the package name. Added package level comments and fixed the name of the interface the providers are importing. 2016-03-11 03:46:09 +01:00
xenolf
9008ec6949 Move functions from dns package back into ACME. 2016-03-11 03:40:28 +01:00
xenolf
b412c67aa6 Move providers out of ACME package. 2016-03-03 01:14:32 +01:00