ExternalDNS - Anexia Webhook Provider
The Anexia Webhook Provider for ExternalDNS allows you to use Anexia’s DNS API to manage DNS records for your domains.
The provider is heavily inspired by the ExternalDNS - IONOS Webhook and some inspiration taken from the External DNS - Adguard Home Provider.
Configuration
See cmd/webhook/init/configuration/configuration.go for all available configuration options for the webhook sidecar, and internal/anexia/configuration.go for all available configuration options for the Anexia provider.
Kubernetes Deployment
The Anexia Webhook Provider is provided as an OCI image in ghcr.io/probstenhias/external-dns-anexia-webhook.
The following is an example deployment for the Anexia Webhook Provider:
1helm repo add bitnami https://charts.bitnami.com/bitnami
2
3# create the anexia configuration
4kubectl create secret generic anexia-configuration \
5 --from-literal=url='<ANEXIA_API_URL>' \
6 --from-literal=token='<ANEXIA_API_TOKEN>'
7
8# create the helm values file
9cat <<EOF > external-dns-anexia-values.yaml
10provider: webhook
11
12extraArgs:
13 webhook-provider-url: http://localhost:8888
14
15sidecars:
16 - name: anexia-webhook
17 image: ghcr.io/probstenhias/external-dns-anexia-webhook:$RELEASE_VERSION
18 ports:
19 - containerPort: 8888
20 name: http
21 livenessProbe:
22 httpGet:
23 path: /healthz
24 port: http
25 initialDelaySeconds: 10
26 timeoutSeconds: 5
27 readinessProbe:
28 httpGet:
29 path: /healthz
30 port: http
31 initialDelaySeconds: 10
32 timeoutSeconds: 5
33 env:
34 - name: LOG_LEVEL
35 value: debug
36 - name: ANEXIA_API_URL
37 valueFrom:
38 secretKeyRef:
39 name: anexia-configuration
40 key: url
41 - name: ANEXIA_API_TOKEN
42 valueFrom:
43 secretKeyRef:
44 name: anexia-configuration
45 key: token
46 - name: SERVER_HOST
47 value: "0.0.0.0"
48 - name: DRY_RUN
49 value: "false"
50EOF
51
52# install external-dns with helm
53helm install external-dns-anexia bitnami/external-dns -f external-dns-anexia-values.yaml