This repository contains code and supporting files for ACME webhook that interacts with active24.cz DNS APIv2.
-
API key and secret to access your domain
-
Service ID to be determined from the link to the desired service (domain), example:
12345678
forhttps://admin.active24.cz/en/dashboard/service/12345678
kubectl create secret generic active24-apikey -n cert-manager \
--from-literal='apiKey=abcd1234567890' --from-literal='apiSecret=defg0987654321'
Apply the following manifest into cluster:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
# The ACME server URL
server: https://acme-v02.api.letsencrypt.org/directory
# Email address used for ACME registration
email: [email protected]
# Name of a secret used to store the ACME account private key
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- selector:
dnsZones:
- somegreatdomain.tld
dns01:
webhook:
groupName: acme.yourdomain.tld # apiGroup from cert-manager-webhook-active24 Helm chart
solverName: active24
config:
apiKeySecretRef:
name: &apiKSName 'active24-apikey'
key: 'apiKey'
apiSecretSecretRef:
name: *apiKSName
key: 'apiSecret'
serviceID: 12345678
maxPages: 10 # optional
maxPages
is optional. It specifies page limit for paginated DNS records that Active24 DNS APIv2 returns. Default value is 10.
Default page size (currently not modified by this webhook) is 20 e.g. this webhook will handle situations with up to 200 _acme-challenge
DNS TXT records by default.
Example using default settings:
helm upgrade --install cert-manager-webhook-active24 -n cert-manager \
oci://ghcr.io/hostalp/cert-manager-webhook-active24/charts/cert-manager-webhook-active24 --version 1.2.1
When customizing installation settings, either provide customized values.yaml
file via the -f
flag, or specify individual settings via --set
flags
kind: Certificate
apiVersion: cert-manager.io/v1
metadata:
name: &certName my-certificate
spec:
commonName: &commonName somegreatdomain.tld
dnsNames:
- *commonName
- '*.somegreatdomain.tld'
issuerRef:
kind: ClusterIssuer
name: letsencrypt-prod
secretName: *certName