* 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>
66 lines
2.2 KiB
INI
66 lines
2.2 KiB
INI
[general]
|
|
# DNS interface. Note that systemd-resolved may reserve port 53 on 127.0.0.53
|
|
# In this case acme-dns will error out and you will need to define the listening interface
|
|
# for example: listen = "127.0.0.1:53"
|
|
listen = "127.0.0.1:53"
|
|
# protocol, "both", "both4", "both6", "udp", "udp4", "udp6" or "tcp", "tcp4", "tcp6"
|
|
protocol = "both"
|
|
# domain name to serve the requests off of
|
|
domain = "auth.example.org"
|
|
# zone name server
|
|
nsname = "auth.example.org"
|
|
# admin email address, where @ is substituted with .
|
|
nsadmin = "admin.example.org"
|
|
# predefined records served in addition to the TXT
|
|
records = [
|
|
# domain pointing to the public IP of your acme-dns server
|
|
"auth.example.org. A 198.51.100.1",
|
|
# specify that auth.example.org will resolve any *.auth.example.org records
|
|
"auth.example.org. NS auth.example.org.",
|
|
]
|
|
# debug messages from CORS etc
|
|
debug = false
|
|
|
|
[database]
|
|
# Database engine to use, sqlite or postgres
|
|
engine = "sqlite"
|
|
# Connection string, filename for sqlite3 and postgres://$username:$password@$host/$db_name for postgres
|
|
# Please note that the default Docker image uses path /var/lib/acme-dns/acme-dns.db for sqlite3
|
|
connection = "acme-dns.db"
|
|
# connection = "postgres://user:password@localhost/acmedns_db"
|
|
|
|
[api]
|
|
# listen ip eg. 127.0.0.1
|
|
ip = "0.0.0.0"
|
|
# disable registration endpoint
|
|
disable_registration = false
|
|
# listen port, eg. 443 for default HTTPS
|
|
port = "443"
|
|
# possible values: "letsencrypt", "letsencryptstaging", "cert", "none"
|
|
tls = "none"
|
|
# only used if tls = "cert"
|
|
tls_cert_privkey = "/etc/tls/example.org/privkey.pem"
|
|
tls_cert_fullchain = "/etc/tls/example.org/fullchain.pem"
|
|
# only used if tls = "letsencrypt"
|
|
acme_cache_dir = "api-certs"
|
|
# optional e-mail address to which Let's Encrypt will send expiration notices for the API's cert
|
|
notification_email = ""
|
|
# CORS AllowOrigins, wildcards can be used
|
|
corsorigins = [
|
|
"*"
|
|
]
|
|
# use HTTP header to get the client ip
|
|
use_header = false
|
|
# header name to pull the ip address / list of ip addresses from
|
|
header_name = "X-Forwarded-For"
|
|
|
|
[logconfig]
|
|
# logging level: "error", "warning", "info" or "debug"
|
|
loglevel = "info"
|
|
# possible values: stdout, file
|
|
logtype = "stdout"
|
|
# file path for logfile
|
|
logfile = "./acme-dns.log"
|
|
# format, either "json" or "text"
|
|
logformat = "json"
|