* 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>
* Dependency version bumps and according fixes & touchups
* Change to async to avoid interactive dialogs
* Move the Let's Encrypt environment selection to proper place
* 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
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.
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.
* 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.
* Added http health check endpoint.
* Fixed performing POST on GET endpoint.
* Explicitly return http status 200 in health check endpoint.
* Updated changelog.