kind: ConfigMap
apiVersion: v1
metadata:
  name: acme-dns-config
  namespace: acme-dns
data:
  config.cfg: |-
    [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 = "0.0.0.0:53"
    # protocol, "both", "both4", "both6", "udp", "udp4", "udp6" or "tcp", "tcp4", "tcp6"
    protocol = "udp"
    # domain name to serve the requests off of
    domain = "auth.$(HOSTNAME)"
    # zone name server
    nsname = "auth.$(HOSTNAME)"
    # admin email address, where @ is substituted with .
    nsadmin = "admin.$(HOSTNAME)"
    # predefined records served in addition to the TXT
    records = [
        # domain pointing to the public IP of your acme-dns server
        "auth.$(HOSTNAME). A $(IP)",
        # specify that auth.$(HOSTNAME) will resolve any *.auth.$(HOSTNAME) records
        "auth.$(HOSTNAME). NS auth.$(HOSTNAME).",
    ]
    # debug messages from CORS etc
    debug = false

    [database]
    # Database engine to use, sqlite3 or postgres
    engine = "sqlite3"
    # 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 = "/var/lib/acme-dns/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 = "80"
    # possible values: "letsencrypt", "letsencryptstaging", "cert", "none"
    tls = "none"
    # only used if tls = "cert"
    tls_cert_privkey = "/etc/tls/$(HOSTNAME)/privkey.pem"
    tls_cert_fullchain = "/etc/tls/$(HOSTNAME)/fullchain.pem"
    # only used if tls = "letsencrypt"
    acme_cache_dir = "api-certs"
    # 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 = "debug"
    # possible values: stdout, TODO file & integrations
    logtype = "stdout"
    # file path for logfile TODO
    # logfile = "./acme-dns.log"
    # format, either "json" or "text"
    logformat = "text"
