cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit 3e9cbbf385e1998c639dddde688fd544c62d7734
parent 9e9ce8f5fe11aaaef8c6db279bc2ad7d45739f31
Author: MTRNord <mtrnord1@gmail.com>
Date:   Mon,  6 May 2024 19:54:47 +0200

Add externaldns

Diffstat:
Mapps/2024_cluster/kustomization.yaml | 1+
Aapps/2024_cluster/secrets/cloudflare_ext_dns.yaml | 28++++++++++++++++++++++++++++
Mapps/2024_cluster/secrets/kustomization.yaml | 1+
Aapps/base/externaldns/kustomization.yaml | 6++++++
Aapps/base/externaldns/release.yaml | 25+++++++++++++++++++++++++
Aapps/base/externaldns/repository.yaml | 8++++++++
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/