commit 3e9cbbf385e1998c639dddde688fd544c62d7734
parent 9e9ce8f5fe11aaaef8c6db279bc2ad7d45739f31
Author: MTRNord <mtrnord1@gmail.com>
Date: Mon, 6 May 2024 19:54:47 +0200
Add externaldns
Diffstat:
6 files changed, 69 insertions(+), 0 deletions(-)
diff --git a/apps/2024_cluster/kustomization.yaml b/apps/2024_cluster/kustomization.yaml
@@ -4,6 +4,7 @@ resources:
- ../base/authentik
- ../base/victoria-metrics-k8s-stack
- ../base/traefik
+ - ../base/externaldns
- ../base/postgres-operator
- ../base/vaultwarden
- ../base/matrix/matrix-helm
diff --git a/apps/2024_cluster/secrets/cloudflare_ext_dns.yaml b/apps/2024_cluster/secrets/cloudflare_ext_dns.yaml
@@ -0,0 +1,28 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: cloudflare-api-token-secret
+ namespace: kube-system
+type: Opaque
+stringData:
+ api-token: ENC[AES256_GCM,data:XuidlbeBChqCxMocfydr6Fx/z7IKZP/urE3oWgOUYHlWDFHMukciCg==,iv:UlN8E7wtATBQQWHYO7mDMr8oCocKs/dXn0rcLRFafKQ=,tag:zy0tTdLWKctDFMtDrMGjMw==,type:str]
+sops:
+ kms: []
+ gcp_kms: []
+ azure_kv: []
+ hc_vault: []
+ age:
+ - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh
+ enc: |
+ -----BEGIN AGE ENCRYPTED FILE-----
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlNDgyMFlJb0FjR3dWY1BI
+ YnYwU3FJbWthVDBVZVJwak9FOVJpNkxZN2lRCkJsQlMvSE5Ya0xUSGp4bEtxc0Yw
+ YzhYZlVRUk90b2RiRldoaEJtUFdEZmMKLS0tIFFZc2JxOHVwN1dWRlN6WXhkNm5K
+ NGRzT0FPY21iVWw0SW1PMGhUT1BURnMKFJnoNMKOzKSy1PjHtrCYeWTRm4bM5DEM
+ H6fgCEifiZEOGcLPIeBsVcJQECMAqfDg0jmL97RLAgHv96ARqVuEDA==
+ -----END AGE ENCRYPTED FILE-----
+ lastmodified: "2024-05-01T19:21:39Z"
+ mac: ENC[AES256_GCM,data:Fo1fu17kx4qvrzLdxwsB7Ta4Q/VhxUXQV/obaufX8h7atlOsmohCoD6oRbm38lz4JSNu4acZSVEuiYs7vewMzXNxrYKhVxY99RFS5gMDic1nZTa5CEKGYuTCWlyeb5Fx2MAO1oftCdBaiY9XtKYMbwZiNNKo1p21WoEtggOqWwo=,iv:BNrQIkGiInugs/Q+qe7v7lwyhCgOUSYGjSgtYYykymk=,tag:Ydj/qobPcg4lZMWYu5GfRw==,type:str]
+ pgp: []
+ encrypted_regex: ^(uriOverride|adminToken.value|password.value|sql_password|erlangCookie|PASSWD|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|adminPassword|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret)$
+ version: 3.8.1
diff --git a/apps/2024_cluster/secrets/kustomization.yaml b/apps/2024_cluster/secrets/kustomization.yaml
@@ -8,3 +8,4 @@ resources:
- draupnir-synapse-signingkey.yaml
- matrix-synapse-signingkey.yaml
- draupnir-freifunk-config.yaml
+ - cloudflare_ext_dns.yaml
diff --git a/apps/base/externaldns/kustomization.yaml b/apps/base/externaldns/kustomization.yaml
@@ -0,0 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: kube-system
+resources:
+ - repository.yaml
+ - release.yaml
diff --git a/apps/base/externaldns/release.yaml b/apps/base/externaldns/release.yaml
@@ -0,0 +1,25 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta2
+kind: HelmRelease
+metadata:
+ name: external-dns
+ namespace: kube-system
+spec:
+ releaseName: external-dns
+ chart:
+ spec:
+ chart: external-dns
+ sourceRef:
+ kind: HelmRepository
+ name: external-dns
+ interval: 50m
+ values:
+ extraArgs:
+ - --cloudflare-dns-records-per-page=5000
+ provider:
+ name: cloudflare
+ env:
+ - name: CF_API_TOKEN
+ valueFrom:
+ secretKeyRef:
+ name: cloudflare-api-token-secret
+ key: api-token
diff --git a/apps/base/externaldns/repository.yaml b/apps/base/externaldns/repository.yaml
@@ -0,0 +1,8 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta2
+kind: HelmRepository
+metadata:
+ name: externexternal-dnsaldns
+ namespace: kube-system
+spec:
+ interval: 50m
+ url: https://kubernetes-sigs.github.io/external-dns/