Parameters
The parent key for all of the following parameters is acme_dns
.
The component supports instantiation.
For component instances, the configuration in the instance’s parameters key is merged with the contents of |
namespace
type |
string |
default |
|
The namespace in which to deploy this component.
The component requires that each instance is configured with a separate namespace. |
namespaceLabels
type |
object |
default |
|
Additional labels to add to the namespace.
The component doesn’t validate the elements of this object. Users must ensure that all entries in the object are valid Kubernetes label key-value pairs. Kubernetes only supports labels where both the key and value are strings. |
images
type |
dict |
default |
The container images used by the component.
Each entry in the dict has keys registry
, repository
, and tag
, to configure the image registry, image repository, and image tag respectively.
api
This parameter holds the configuration parameters for the acme-dns HTTP API.
api.hostname
type |
string |
default |
|
The hostname on which the acme-dns API is served.
Users must reconfigure this parameter to point to a domain they administer. |
api.basicAuth
type |
dict |
default |
|
The HTTP basic authentication username and password for the acme-dns API /register
endpoint.
api.ingress
type |
dict |
default |
|
Configuration for the Ingress
(or Route
object on OpenShift 3).
Currently, the only supported key is annotations
, which is used as metadata.annotations
on the object.
The component removes annotations with value null
.
config
This parameter holds the acme-dns configuration which is rendered as a TOML config file by the component.
See the acme-dns sample config file for the full set of configuration parameters.
config.general
type |
dict |
default |
|
The general configuration for acme-dns.
-
Parameter
domain
specifies the zone for which the service serves TXT records. -
Parameter
nsname
specifies the zone name server’s DNS name. -
Parameter
nsadmin
specifies the zone admin email address.
The component automatically replaces @
characters in nsadmin
with .
, as documented in the acme-dns sample config file.
Users must reconfigure these parameters to point to a zone which they administer. |
config.logconfig
type |
dict |
default |
|
The acme-dns log configuration.
Final configuration
The component merges the contents of config
into the following default TOML configuration:
[general]
listen = "0.0.0.0:5533"
protocol = "both4"
debug = false
records = [
'${acme_dns:config:general:domain}. NS ${acme_dns:config:general:nsname}.'
]
[database]
engine = "sqlite3"
connection = "/var/lib/acme-dns/acme-dns.db"
[api]
ip = "0.0.0.0"
disable_registration = false
port = 8000
tls = "none"
corsorigins = [ "*" ]
use_header = true,
header_name = "X-Forwarded-For"
With the default parameters, this results in the following config:
[general]
listen = "0.0.0.0:5533"
protocol = "both4"
debug = false
records = [
'${acme_dns:config:general:domain}. NS ${acme_dns:config:general:nsname}.'
]
domain = "acme-dns.example.com"
nsname = "acme-dns-ns.example.com"
nsadmin = "support.example.com"
[database]
engine = "sqlite3"
connection = "/var/lib/acme-dns/acme-dns.db"
[api]
ip = "0.0.0.0"
disable_registration = false
port = 8000
tls = "none"
corsorigins = [ "*" ]
use_header = true,
header_name = "X-Forwarded-For"
[logconfig]
loglevel = "info"
logtype = "stdout"
logformat = "json"
persistence
This parameter configures the persistent volume and backups for the acme-dns sqlite database.
This parameter doesn’t have an effect if parameters config.database.engine
and config.database.connection
point to an external Postgres database.
persistence.enabled
type |
boolean |
default |
|
Whether to provision a persistent volume for the acme-dns sqlite database.
With persistence.enabled=false , any registered acme-dns clients and TXT records will be lost when the acme-dns Pod is restarted.
|
persistence.volumeSize
type | |
default |
|
The size of persistent volume to request.
Used as spec.resources.requests.storage
in the PersistentVolumeClaim
object.
persistence.storageClassName
type |
string |
default |
|
The storage class for the PVC.
Used as spec.storageClassName
, if the parameter isn’t null
.
Otherwise, the cluster’s default storage class is used for the PVC.
persistence.backup
type |
dict |
default |
|
The configuration for the K8up backup of the sqlite database.
Parameter enabled
controls whether the K8up backup is configured or not.
The backup is never configured when parameter persistence.enabled
is false
.
-
Parameter
schedule
is used as the value forspec.backup.schedule
in the K8upSchedule
object. -
Parameter
endpoint
is the S3 endpoint for the bucket. If parameterendpoint
isnull
, the s3_endpoint of the global K8up config is used. -
Parameter
bucket
is used as the S3 bucket name. -
Parameter
password
is used as the Restic password for the backup. -
Parameters
accesskey
andsecretkey
are the credentials to access the S3 bucket.