From 827a210157a965a3034473f854f9e240230c26a2 Mon Sep 17 00:00:00 2001 From: Grant Hunter <5445379+grantdhunter@users.noreply.github.com> Date: Fri, 23 Oct 2026 22:56:35 -0600 Subject: [PATCH] add ddns service --- helmfile.d/01-infrastructure.lock | 7 +++++-- helmfile.d/01-infrastructure.yaml | 8 ++++++++ helmfile.d/02-datastore.lock | 2 +- helmfile.d/03-apps.lock | 4 ++-- hetzner-ddns/values.yaml.gotmpl | 31 +++++++++++++++++++++++++++++++ 5 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 hetzner-ddns/values.yaml.gotmpl diff --git a/helmfile.d/01-infrastructure.lock b/helmfile.d/01-infrastructure.lock index 9b7d473..e2915ea 100644 --- a/helmfile.d/01-infrastructure.lock +++ b/helmfile.d/01-infrastructure.lock @@ -9,6 +9,9 @@ dependencies: - name: cert-manager-webhook-hetzner repository: https://charts.hetzner.cloud version: 0.9.1 + - name: hetzner-ddns + repository: git+https://git.incngrnt.ca/grant/charts@charts?ref=main + version: 0.1.0 - name: rook-ceph repository: https://charts.rook.io/release version: v1.20.2 @@ -21,5 +24,5 @@ dependencies: - name: traefik repository: https://traefik.github.io/charts version: 42.1.3 -digest: sha256:f5bbd79ab6a4cd54712b29248d0fec2cf22af7f1156e1457c06509a58d50de50 -generated: "2026-10-23T15:16:21.981261083-06:00" +digest: sha256:838c0db60769222dcb8d3d4c6e512c3fd2f5f4fcb05f582cfe77afb4fdfc1037 +generated: "2026-10-23T22:31:06.137431436-06:00" diff --git a/helmfile.d/01-infrastructure.yaml b/helmfile.d/01-infrastructure.yaml index c248eb2..a1782e1 100644 --- a/helmfile.d/01-infrastructure.yaml +++ b/helmfile.d/01-infrastructure.yaml @@ -11,6 +11,8 @@ repositories: url: https://charts.jetstack.io - name: hcloud url: https://charts.hetzner.cloud + - name: incngrnt + url: git+https://git.incngrnt.ca/grant/charts@charts?ref=main lockFilePath: ./helmfile.d/01-infrastructure.lock releases: @@ -49,6 +51,12 @@ releases: chart: tailscale/tailscale-operator values: - ../tailscale/values.yaml.gotmpl + - name: ddns + namespace: ddns + createNamespace: true + chart: incngrnt/hetzner-ddns + values: + - ../hetzner-ddns/values.yaml.gotmpl # storage infrastructure - name: rook-ceph diff --git a/helmfile.d/02-datastore.lock b/helmfile.d/02-datastore.lock index df88654..361dbf6 100644 --- a/helmfile.d/02-datastore.lock +++ b/helmfile.d/02-datastore.lock @@ -13,4 +13,4 @@ dependencies: repository: git+https://github.com/grantdhunter/postgres-operator@helm?ref=main version: 5.7.4 digest: sha256:1ebf0b11029dbaa1a0637b3f6c43f5fc1126b17725bdafc3d11f5e1561fdf095 -generated: "2026-10-23T15:16:22.856260855-06:00" +generated: "2026-10-23T22:30:58.214470208-06:00" diff --git a/helmfile.d/03-apps.lock b/helmfile.d/03-apps.lock index e8f8f29..68070c8 100644 --- a/helmfile.d/03-apps.lock +++ b/helmfile.d/03-apps.lock @@ -39,5 +39,5 @@ dependencies: - name: static-site repository: git+https://github.com/cfpb/static-site@charts?ref=main version: 0.1.1 -digest: sha256:a2be87e1271d10278e0fa7648cd5edbdb1edeeee78ccbebbd43bbd0f35748fb7 -generated: "2026-10-23T15:16:28.16571664-06:00" +digest: sha256:0b50b4824f2e0cdc37dbaeb87206f86c33c39b900145969a2c75c46edd72a24d +generated: "2026-10-23T22:31:12.45099225-06:00" diff --git a/hetzner-ddns/values.yaml.gotmpl b/hetzner-ddns/values.yaml.gotmpl new file mode 100644 index 0000000..ba9405d --- /dev/null +++ b/hetzner-ddns/values.yaml.gotmpl @@ -0,0 +1,31 @@ +image: git.incngrnt.ca/grant/hetzner-ddns:v1 +apiToken: {{ requiredEnv "HETZNER_API_KEY" }} + +ddnsConfig: + params: + refresh_interval: 15 + hetzner: + zones: + - zone_name: "53ll.ca" + records: + - name: "@" + type: "A" + ttl: 300 + - zone_name: "kgnot.ca" + records: + - name: "@" + type: "A" + ttl: 300 + - zone_name: "incngrnt.ca" + records: + - name: "@" + type: "A" + ttl: 300 + - name: "fog" + type: "A" + ttl: 300 + - zone_name: "goatchat.ca" + records: + - name: "@" + type: "A" + ttl: 300