221 Commits

Author SHA1 Message Date
Joona Hoikkala
4e5a69e5fb Fix errors in auto-released docker images (#399) v2.0.2 2026-02-05 18:09:31 +02:00
Joona Hoikkala
055f80bf9b Build and push a new docker image to Docker Hub when a release is triggered (#397) v2.0.1 2026-02-05 17:32:32 +02:00
Joona Hoikkala
917ff10563 Update readme and changelog (#396) v2.0 2026-02-05 17:13:05 +02:00
Joona Hoikkala
c331e33178 Update goreleaser configuration and add a GitHub action to build a release on new version tags (#395) 2026-02-05 17:06:21 +02:00
Joona Hoikkala
5a7bc230b8 Refactoring (#325)
* Refactor core

* Re-added tests

* Small fixes

* Add tests for acmetxt cidrslice and util funcs

* Remove the last dangling reference to old logging package

* Refactoring (#327)

* chore: enable more linters and fix linter issues

* ci: enable linter checks on all branches and disable recurring checks

recurring linter checks don't make that much sense. The code & linter checks should not change on their own over night ;)

* chore: update packages

* Revert "chore: update packages"

This reverts commit 30250bf28c4b39e9e5b3af012a4e28ab036bf9af.

* chore: manually upgrade some packages

* Updated dependencies, wrote changelog entry and fixed namespace for release

* Refactoring - improving coverage (#371)

* Increase code coverage in acmedns

* More testing of ReadConfig() and its fallback mechanism

* Found that if someone put a '"' double quote into the filename that we configure zap to log to, it would cause the the JSON created to be invalid. I have replaced the JSON string with proper config

* Better handling of config options for api.TLS - we now error on an invalid value instead of silently failing.

added a basic test for api.setupTLS() (to increase test coverage)

* testing nameserver isOwnChallenge and isAuthoritative methods

* add a unit test for nameserver answerOwnChallenge

* fix linting errors

* bump go and golangci-lint versions in github actions

* Update golangci-lint.yml

Bumping github-actions workflow versions to accommodate some changes in upstream golanci-lint

* Bump Golang version to 1.23 (currently the oldest supported version)

Bump golanglint-ci to 2.0.2 and migrate the config file.

This should resolve the math/rand/v2 issue

* bump golanglint-ci action version

* Fixing up new golanglint-ci warnings and errors

---------

Co-authored-by: Joona Hoikkala <5235109+joohoi@users.noreply.github.com>

* Minor refactoring, error returns and e2e testing suite

* Add a few tests

* Fix linter and umask setting

* Update github actions

* Refine concurrency configuration for GitHub actions

* HTTP timeouts to API, and self-validation mutex to nameserver ops

---------

Co-authored-by: Florian Ritterhoff <32478819+fritterhoff@users.noreply.github.com>
Co-authored-by: Jason Playne <jason@jasonplayne.com>
2026-02-05 16:04:15 +02:00
Joona Hoikkala
b7a0a8a7bc Add timeout to golangci job (#369) v1.1 2024-12-15 13:19:23 +02:00
Joona Hoikkala
139a0dd03b Update deps to support go 1.23 (#368)
* Update deps to support go 1.23

* Test updated golangci config

* Fix deprecated ioutil references
2024-12-15 13:00:37 +02:00
Joona Hoikkala
27e8251d11 Bump dependencies (#334) 2023-03-07 01:45:39 +02:00
Joona Hoikkala
6ba9360156 Update goreleaser config to work with latest version (#312) 2022-08-10 15:28:16 +03:00
Joona Hoikkala
0c3d538de8 Update golint, dependencies and get to sane state (#313)
* Update golangci-lint config

* Fix mutex embedding lint issue

* Change go version

* Update dependencies

* Bump golangci-lint version
2022-08-10 15:17:11 +03:00
Joona Hoikkala
a33c09accf Deps update (#289)
* Dependency version bumps and according fixes & touchups

* Change to async to avoid interactive dialogs

* Move the Let's Encrypt environment selection to proper place
v1.0
2022-01-26 00:26:45 +02:00
Joona Hoikkala
68bb6ab654 Add acme-dns-client to the documentation (#253) 2021-01-11 18:07:22 +02:00
Joona Hoikkala
835fbb9ef6 Migrate to GitHub actions for coverage & unit test automation (#251) 2021-01-11 17:31:09 +02:00
Jonathan Vanasco
9c6ca258e1 relax subdomain validation from UUID to actual subdomain (#243) 2021-01-11 14:55:31 +02:00
Peter Lebbing
d573f771a8 README: Use https URLs for API testing (#230) 2021-01-11 14:50:48 +02:00
Brett Keller
035a219f9f Add support for LE expiration notification e-mails on API cert (#227) 2021-01-11 14:35:54 +02:00
Wouter Tinus
19069f50ec Update README.md (#210)
Add new website for win-acme
2020-02-10 19:27:16 +02:00
Joona Hoikkala
5de21916a3 Handle go modules properly in Dockerfile with Go 1.13 (#207) 2020-01-10 12:32:11 +02:00
Joona Hoikkala
3d5a512d1e Revert "Update modules (#203)" (#206)
This reverts commit 1681de11d2.
2020-01-09 08:39:04 +02:00
Joona Hoikkala
9f7a158367 Update readme (#204) 2020-01-08 20:40:37 +02:00
Joona Hoikkala
1681de11d2 Update modules (#203) 2020-01-08 07:53:11 +02:00
Marvin Blum
88d3be685e Removed example for health check endpoint because it is misleading. (#181) 2019-10-21 16:13:22 +03:00
Joona Hoikkala
aa3e7e1b75 Migrate over to certmagic from using autocert (#190)
* Use certmagic for challenge validation

* WIP

* Get the correct key

* Override preflight check logic

* Fix logging for imported packages and tidy config.cfg

* Fix test and add docstrings

* Update README
v0.8
2019-10-20 22:52:19 +03:00
Joona Hoikkala
af542b44a9 Proper EDNS0 (non)support (#188)
* Proper EDNS0 (non)support

* Add changelog entry

* Add EDNS0 tests
2019-10-18 22:24:56 +03:00
Joona Hoikkala
5b1e51534f Migrate to Go 1.13 and gomodules (#187) 2019-10-17 14:21:04 +03:00
lateagain
637c82f407 Update acme-dns.service (#183)
Set working directory to service users home.
2019-09-18 16:05:32 +03:00
Daniel McCarney
e1f1d6af34 README: Add warning/advice about HTTPS API. (#169)
This commit updates the README to add a brief description of the `tls`
configuration options. In particular using `tls = "letsencrypt"` is
recommended and a warning is added about using `tls = "cert"` and
allowing the certificate to expire.
2019-06-12 15:42:23 +03:00
znerol
c13035a344 Refactor: Use more specific type in argument of DB.Update (#162)
The DB.Update function takes a type of ACMETxt. However, the function
only requires the Value and Subdomain fields.

Refactor the function such that it takes ACMETxtPost instead of the full
ACMETxt record. This will simplify extraction of txt-record related
logic from the db code.
2019-06-12 15:41:02 +03:00
Joona Hoikkala
af5d2561d2 Fail closed with malformed allowfrom data in register endpoint (#148)
* Prepare readme for release

* Fail closed with malformed allowfrom data in register endpoint
2019-02-22 16:53:11 +02:00
Daniel Lo Nigro
395cb7a62c Add Windows ACME Simple (win-acme) to clients list (#134)
* Add win-acme to clients list

* Use its official name ("Windows ACME Simple")

* Remove version number from WACS
2019-02-22 16:42:52 +02:00
Joona Hoikkala
5d74ff1142 Prepare README for point release v0.7.2 (#153) v0.7.2 2019-02-07 09:58:07 +02:00
Ward Vandewege
37db83e5b7 Respond case insensitively to A and SOA requests (#152)
* When appending the SOA for authoritative NXDOMAIN responses, it needs to go in
the Authoritative section, not the Answer section.

This fixes the acme-dns validation for the lego Let's Encrypt client.

* Respond case-insensitively to A and SOA requests. Add corresponding tests.

This fixes the autocert feature with Let's Encrypt, because Let's Encrypt does
a lookup for the A record with a deliberately mangled case.
2019-02-07 09:16:33 +02:00
Ward Vandewege
41a1cff0ae When appending the SOA for authoritative NXDOMAIN responses, it needs to go in (#151)
the Authoritative section, not the Answer section.

This fixes the acme-dns validation for the lego Let's Encrypt client.
2019-02-07 09:13:47 +02:00
Joona Hoikkala
4f5fad0d32 Prepare for point release (#150)
* Prepare for point release
v0.7.1
2019-02-06 12:13:00 +02:00
Ward Vandewege
5651772837 Make sure to initialize the SOA record for the tcp server, too. (#149) 2019-02-06 12:09:01 +02:00
Joona Hoikkala
09dc25d336 Update vendored dependencies (#147)
* Prepare readme for release

* Update vendored packages

* New version of dns dependency handles rejecting UPDATEs under the hood

* Go 1.11 required
2019-02-04 00:21:42 +02:00
Joona Hoikkala
a88ee29755 Prepare readme for release (#146) 2019-02-03 20:32:02 +02:00
Joona Hoikkala
de7fe3cb1d Fix responses to be more standards compliant (#145)
* Handle OPT questions (EDNS)

* Handle authoritative bit, and append SOA for authoritative NXDOMAIN responses

* Changelog entry

* Fix linter errors
2019-02-03 20:19:15 +02:00
Joona Hoikkala
7a2f9f06b1 Refactoring DNS server part for safer paraller execution (#144)
* Refactoring DNS server part for safer paraller execution and better data structures

* Fix linter issues
2019-02-03 17:23:04 +02:00
Joona Hoikkala
d695f72963 Fix the default configuration SQLite db path (#143) 2019-02-01 09:55:26 +02:00
Marvin Blum
aff13a02fb Added http health check endpoint. (#137)
* Added http health check endpoint.

* Fixed performing POST on GET endpoint.

* Explicitly return http status 200 in health check endpoint.

* Updated changelog.
2019-01-25 19:22:53 +02:00
Joona Hoikkala
7fbb5261c8 Fix test not to assume preset UseHeaders value (#139) 2019-01-25 18:36:29 +02:00
Philip Vieira
2da94f1462 Clarify how to test that the DNS Lookup is working (#133)
Reasoning: Unless you specify that you're looking for a TXT record, you will not get the answer from the DNS server
2019-01-20 18:23:07 +02:00
Christopher Cook
ea4d125663 Add Certify The Web to clients list (#131)
Certify now supports acme-dns in the latest beta.
https://github.com/webprofusion/certify/issues/391
2018-12-18 11:05:01 +02:00
Joona Hoikkala
f64de0353d Fix Docker instructions and add option to bind both UDP and TCP DNS listeners (#130) 2018-12-13 12:19:10 +02:00
Joona Hoikkala
20411b650f Update changelog and prepare for release v0.6 (#125) v0.6 2018-10-31 15:13:29 +02:00
Joona Hoikkala
3bb130d055 Refuse dynamic updates properly (#124) 2018-10-31 15:01:42 +02:00
Joona Hoikkala
1d85bf75b0 Added Traefik and cert-manager to client list (#123) 2018-10-31 01:13:10 +02:00
Joona Hoikkala
c2c5c5cd70 Better error handling in goroutines (#122)
* More robust goroutine error handling using channels

* Fix tests and make startup log msg saner

* Clarification to README and config file
2018-10-31 00:54:51 +02:00
golint fixer
a09073da12 Fix golint import path (#121) 2018-10-29 10:29:34 +02:00