diff --git a/apps/external-dns/external-dns.yaml b/apps/external-dns/external-dns.yaml new file mode 100644 index 0000000..7a8f058 --- /dev/null +++ b/apps/external-dns/external-dns.yaml @@ -0,0 +1,58 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: external-dns + namespace: argocd +spec: + project: default + source: + repoURL: https://kubernetes-sigs.github.io/external-dns/ + chart: external-dns + targetRevision: 1.* + helm: + values: | + provider: + name: rfc2136 + + sources: + - ingress + - service + + domainFilters: + - home.lan + + txtOwnerId: k8s-home + txtPrefix: external-dns- + + policy: sync + interval: 1m + logLevel: info + + extraArgs: + - --rfc2136-host=HDCPDC0001.home.lan + - --rfc2136-port=53 + - --rfc2136-zone=home.lan + - --rfc2136-gss-tsig + - --rfc2136-kerberos-realm=HOME.LAN + + env: + - name: EXTERNAL_DNS_RFC2136_KERBEROS_USERNAME + valueFrom: + secretKeyRef: + name: external-dns-ad + key: EXTERNAL_DNS_RFC2136_KERBEROS_USERNAME + - name: EXTERNAL_DNS_RFC2136_KERBEROS_PASSWORD + valueFrom: + secretKeyRef: + name: external-dns-ad + key: EXTERNAL_DNS_RFC2136_KERBEROS_PASSWORD + + destination: + server: https://kubernetes.default.svc + namespace: external-dns + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true