GitPedia

Alidns webhook

Cert manager acme dns01 webhook provider for alidns

From pragkent·Updated June 9, 2026·View on GitHub·

Please find document here: https://cert-manager.io/docs/installation/kubernetes/ The project is written primarily in Go, first published in 2019. Key topics include: alidns, alidns-provider-solver, cert-manager, cert-manager-webhook, letsencrypt.

alidns-webhook

Cert-manager ACME DNS webhook provider for alidns.

Install

Install cert manager

Please find document here: https://cert-manager.io/docs/installation/kubernetes/

Install webhook (Cert manager v0.11 and above)

  1. Install alidns-webhook
bash
# Install alidns-webhook to cert-manager namespace. kubectl apply -f https://raw.githubusercontent.com/pragkent/alidns-webhook/master/deploy/bundle.yaml
  1. Create secret contains alidns credentials
yaml
apiVersion: v1 kind: Secret metadata: name: alidns-secret namespace: cert-manager data: access-key: YOUR_ACCESS_KEY secret-key: YOUR_SECRET_KEY
  1. Example Issuer
yaml
apiVersion: cert-manager.io/v1alpha2 kind: ClusterIssuer metadata: name: letsencrypt-staging spec: acme: # Change to your letsencrypt email email: certmaster@example.com server: https://acme-staging-v02.api.letsencrypt.org/directory privateKeySecretRef: name: letsencrypt-staging-account-key solvers: - dns01: webhook: groupName: acme.yourcompany.com solverName: alidns config: region: "" accessKeySecretRef: name: alidns-secret key: access-key secretKeySecretRef: name: alidns-secret key: secret-key
  1. Issue a certificate
yaml
apiVersion: cert-manager.io/v1alpha2 kind: Certificate metadata: name: example-tls spec: secretName: example-com-tls commonName: example.com dnsNames: - example.com - "*.example.com" issuerRef: name: letsencrypt-staging kind: ClusterIssuer

Install webhook (Cert manager prior to v0.11)

  1. Install alidns-webhook
bash
# Install alidns-webhook to cert-manager namespace. kubectl apply -f https://raw.githubusercontent.com/pragkent/alidns-webhook/master/deploy/legacy.yaml
  1. Create secret contains alidns credentials
yaml
apiVersion: v1 kind: Secret metadata: name: alidns-secret namespace: cert-manager data: access-key: YOUR_ACCESS_KEY secret-key: YOUR_SECRET_KEY
  1. Example Issuer
yaml
apiVersion: certmanager.k8s.io/v1alpha1 kind: ClusterIssuer metadata: name: letsencrypt-staging spec: acme: email: certmaster@example.com server: https://acme-staging-v02.api.letsencrypt.org/directory privateKeySecretRef: name: letsencrypt-staging-account-key solvers: - dns01: webhook: groupName: acme.yourcompany.com solverName: alidns config: region: "" accessKeySecretRef: name: alidns-secret key: access-key secretKeySecretRef: name: alidns-secret key: secret-key
  1. Issue a certificate
yaml
apiVersion: certmanager.k8s.io/v1alpha1 kind: Certificate metadata: name: example-tls spec: secretName: example-com-tls commonName: example.com dnsNames: - example.com - "*.example.com" issuerRef: name: letsencrypt-staging kind: ClusterIssuer

Development

Running the test suite

  1. Edit testdata/alidns/alidns-secret.yaml and testdata/alidns/config.json.

  2. Run test suites:

bash
$ ./scripts/fetch-test-binaries.sh $ TEST_ZONE_NAME=example.com go test .

Contributors

Showing top 3 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from pragkent/alidns-webhook via the GitHub API.Last fetched: 6/28/2026