From 2bb33f8536c293e78e4fb8cc5186e5c1012a1833 Mon Sep 17 00:00:00 2001 From: Spencer Koch Date: Fri, 15 Dec 2023 10:01:03 -0600 Subject: [PATCH] feat: add cloudflare dyndns cronjob --- .../cloudflare-ddns/app/cronjob.yaml | 17 +++++++++++ .../cloudflare-ddns/app/secret.sops.yaml | 30 +++++++++++++++++++ .../apps/networking/cloudflare-ddns/ks.yaml | 20 +++++++++++++ kubernetes/apps/networking/kustomization.yaml | 1 + 4 files changed, 68 insertions(+) create mode 100644 kubernetes/apps/networking/cloudflare-ddns/app/cronjob.yaml create mode 100644 kubernetes/apps/networking/cloudflare-ddns/app/secret.sops.yaml create mode 100644 kubernetes/apps/networking/cloudflare-ddns/ks.yaml diff --git a/kubernetes/apps/networking/cloudflare-ddns/app/cronjob.yaml b/kubernetes/apps/networking/cloudflare-ddns/app/cronjob.yaml new file mode 100644 index 00000000..11a2203b --- /dev/null +++ b/kubernetes/apps/networking/cloudflare-ddns/app/cronjob.yaml @@ -0,0 +1,17 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + name: cloudflare-ddns +spec: + schedule: "*/5 * * * *" + jobTemplate: + spec: + template: + spec: + containers: + - name: cloudflare-ddns + image: mirioeggmann/cloudflare-ddns:v0.5.1 + envFrom: + - secretRef: + name: cloudflare-ddns-secret + restartPolicy: OnFailure diff --git a/kubernetes/apps/networking/cloudflare-ddns/app/secret.sops.yaml b/kubernetes/apps/networking/cloudflare-ddns/app/secret.sops.yaml new file mode 100644 index 00000000..52046c2f --- /dev/null +++ b/kubernetes/apps/networking/cloudflare-ddns/app/secret.sops.yaml @@ -0,0 +1,30 @@ +apiVersion: v1 +kind: Secret +metadata: + name: cloudflare-ddns-secret +stringData: + ZONE_ID: ENC[AES256_GCM,data:BQGra762Q6DeNScYTfSDXWViPZuY5oQogeXSU/Ljqgg=,iv:27jwVlAKu6KG246hOUMEJz304zJZ6C7MsobJJiv/CiE=,tag:WPDaJu8/OS52/OIBiR/tAw==,type:str] + RECORD_ID: ENC[AES256_GCM,data:uEetCIUAPR+s4bofN43q/B7USLUpFrT/nKlOZFsN1AI=,iv:V0USaUAUtoiGAQwU+DEK7LmrWgX4o697TovUTDeJzRE=,tag:C8krWzf6JDo06ST1BMrTKw==,type:str] + API_TOKEN: ENC[AES256_GCM,data:kVFBtsg6qg1fiZgHVBnsVgIEdPO+HRmq7ipU9dBiUDnQzxxZO8XlGA==,iv:5DIoeNHNkm47S/2yzLS5M4/O2oISFDgCjX14tNTCnLY=,tag:QYvaD+k9aHzLs9UWlIGEqQ==,type:str] + NAME: ENC[AES256_GCM,data:3SdBloYxtQiL8xLukCF5RjxQhQ==,iv:kMRdbqNWoOFrFJ4ayWzq8KPZdEen7C8EZEj8X0ixH0k=,tag:rXdEjZEqygflhBqHTN/VNA==,type:str] + PROXIED: ENC[AES256_GCM,data:wSOwHg==,iv:pYNo1QID1HJtUuHpVL+QrYwJV7vG1UMAdNZNYbV/MIk=,tag:M++Yu/U3SwVHZkC9nwoc3Q==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1meu65v2nuw6ntzn8fghgc59mmkcm2uhynj4ydchrpdp6audq2y6q85kadn + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0SVdDYm5nUUFwbGxSTHN4 + OUJZOHZSd3BOc2duY3R6c2xQN0xFRzZ0UVdRCkpTMHY1ancvZFpUYjBTN2FsVnNZ + MHZhbXBzNGlDd2lMbmFhT1g1YWJWZmcKLS0tIDRWeW04WXBRVUJXdTZHK2hXNG1D + RlM5bjFSZWpMa1VJTHJTMmlKeTdqVncKXOxjgORulxgheMGB7lmsGy4MntC7mX6Y + U9oZKs9mb/YIigZj80gY2bpyq6LvHKexY78n/mpktmh4yJD70C1+5w== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2023-12-15T16:06:32Z" + mac: ENC[AES256_GCM,data:wHSKvydWEyWrQAKk4Zs+84sNEBA2jSQnpl1pfS6wOPlkfZ11Y0a6W/k0/upjIjetIdSIfTdCg21PsHysLohffyLqCZGRboR7U98wRPrAhGuDB7rRXM038MC1xdb/SxIOB51fSVhVJVOtDeMVYKLj6tvnSzlzoKarK79maCDty+Q=,iv:I30KRxG4KLjj7LuO9vBki0W1ryLXt1hehG/tyIM8zqA=,tag:Cq9R2psPJRCawBf3wFzj9Q==,type:str] + pgp: [] + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kubernetes/apps/networking/cloudflare-ddns/ks.yaml b/kubernetes/apps/networking/cloudflare-ddns/ks.yaml new file mode 100644 index 00000000..92ca3de4 --- /dev/null +++ b/kubernetes/apps/networking/cloudflare-ddns/ks.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app cloudflare-ddns + namespace: flux-system +spec: + targetNamespace: networking + commonMetadata: + labels: + app.kubernetes.io/name: *app + path: ./kubernetes/apps/networking/cloudflare-ddns/app + prune: true + sourceRef: + kind: GitRepository + name: home-kubernetes + wait: false + interval: 30m + retryInterval: 1m + timeout: 5m diff --git a/kubernetes/apps/networking/kustomization.yaml b/kubernetes/apps/networking/kustomization.yaml index c4f3b4c3..71c4c5de 100644 --- a/kubernetes/apps/networking/kustomization.yaml +++ b/kubernetes/apps/networking/kustomization.yaml @@ -4,6 +4,7 @@ kind: Kustomization resources: - ./namespace.yaml - ./external-services + - ./cloudflare-ddns/ks.yaml - ./cloudflared/ks.yaml - ./echo-server/ks.yaml - ./external-dns/ks.yaml