Skip to content

hostalp/cert-manager-webhook-active24

 
 

Repository files navigation

ACME webhook for Active24 DNS APIv2

This repository contains code and supporting files for ACME webhook that interacts with active24.cz DNS APIv2.

Installation

Requirements

  • cert-manager

  • API key and secret to access your domain

  • Service ID to be determined from the link to the desired service (domain), example: 12345678 for https://admin.active24.cz/en/dashboard/service/12345678

Create secret with API key and secret

kubectl create secret generic active24-apikey -n cert-manager \
 --from-literal='apiKey=abcd1234567890' --from-literal='apiSecret=defg0987654321'

Create ClusterIssuer

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.

Install using helm

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

Create certificate

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

About

A cert-manager ACME DNS-01 webhook that uses Active24.cz APIv2

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Go 76.2%
  • Smarty 12.4%
  • Makefile 9.5%
  • Dockerfile 1.9%