From dfd175956c8602d09097951f05ab7c2de45c52d0 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:34:30 +1000 Subject: [PATCH 1/7] Convert kust to helmrelease --- deployments/manifests/20-dev.yaml | 18 +++++++++--------- deployments/manifests/20-prod.yaml | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/deployments/manifests/20-dev.yaml b/deployments/manifests/20-dev.yaml index 0e1ebe5..49a48d0 100644 --- a/deployments/manifests/20-dev.yaml +++ b/deployments/manifests/20-dev.yaml @@ -1,14 +1,14 @@ --- -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease metadata: name: home-server-dev - namespace: flux-system + namespace: home-server-dev spec: interval: 1m - path: ./deployments - prune: true - sourceRef: - kind: GitRepository - name: home-server-dev - targetNamespace: home-server-dev + chart: + spec: + chart: ./charts + sourceRef: + kind: GitRepository + name: home-server-dev diff --git a/deployments/manifests/20-prod.yaml b/deployments/manifests/20-prod.yaml index 1f5d4bd..c64ba16 100644 --- a/deployments/manifests/20-prod.yaml +++ b/deployments/manifests/20-prod.yaml @@ -1,14 +1,14 @@ --- -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease metadata: name: home-server-prod - namespace: flux-system + namespace: home-server-prod spec: interval: 1m - path: ./deployments - prune: true - sourceRef: - kind: GitRepository - name: home-server-prod - targetNamespace: home-server + chart: + spec: + chart: ./charts + sourceRef: + kind: GitRepository + name: home-server-prod From 0540bbe6f352e3f83004979ebe8b78e9ddea0eec Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:35:58 +1000 Subject: [PATCH 2/7] Use homeserverprod instead of homeserver --- deployments/manifests/00-namespaces.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployments/manifests/00-namespaces.yaml b/deployments/manifests/00-namespaces.yaml index 73496f4..6b84b30 100644 --- a/deployments/manifests/00-namespaces.yaml +++ b/deployments/manifests/00-namespaces.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Namespace metadata: - name: home-server + name: home-server-prod --- apiVersion: v1 kind: Namespace From 3bb8a876d2be20c4ef8e0aa25620087e6a61908d Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:40:50 +1000 Subject: [PATCH 3/7] Set chart to root --- Chart.yaml | 11 +++++++++++ deployments/manifests/20-dev.yaml | 2 +- deployments/manifests/20-prod.yaml | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 Chart.yaml diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000..14cdfc3 --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v2 +name: home-server +description: A Helm chart for deploying the home-server application +type: application +version: 0.1.0 +appVersion: "1.0.0" + +dependencies: + - name: dns + version: 0.1.0 + repository: "file://charts/dns" diff --git a/deployments/manifests/20-dev.yaml b/deployments/manifests/20-dev.yaml index 49a48d0..183d44f 100644 --- a/deployments/manifests/20-dev.yaml +++ b/deployments/manifests/20-dev.yaml @@ -8,7 +8,7 @@ spec: interval: 1m chart: spec: - chart: ./charts + chart: ./ sourceRef: kind: GitRepository name: home-server-dev diff --git a/deployments/manifests/20-prod.yaml b/deployments/manifests/20-prod.yaml index c64ba16..286eb99 100644 --- a/deployments/manifests/20-prod.yaml +++ b/deployments/manifests/20-prod.yaml @@ -8,7 +8,7 @@ spec: interval: 1m chart: spec: - chart: ./charts + chart: ./ sourceRef: kind: GitRepository name: home-server-prod From 081e75688b11f124c151069005eb91961ced75a8 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:42:42 +1000 Subject: [PATCH 4/7] Repos stored in flux-system --- deployments/manifests/20-dev.yaml | 2 +- deployments/manifests/20-prod.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployments/manifests/20-dev.yaml b/deployments/manifests/20-dev.yaml index 183d44f..c313f7a 100644 --- a/deployments/manifests/20-dev.yaml +++ b/deployments/manifests/20-dev.yaml @@ -11,4 +11,4 @@ spec: chart: ./ sourceRef: kind: GitRepository - name: home-server-dev + name: flux-system diff --git a/deployments/manifests/20-prod.yaml b/deployments/manifests/20-prod.yaml index 286eb99..77b349f 100644 --- a/deployments/manifests/20-prod.yaml +++ b/deployments/manifests/20-prod.yaml @@ -11,4 +11,4 @@ spec: chart: ./ sourceRef: kind: GitRepository - name: home-server-prod + name: flux-system From cd400204fc32a4ef4fa1026571c37c158464ac01 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:45:41 +1000 Subject: [PATCH 5/7] Honestly. I'm too tired. --- deployments/manifests/20-dev.yaml | 3 ++- deployments/manifests/20-prod.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/deployments/manifests/20-dev.yaml b/deployments/manifests/20-dev.yaml index c313f7a..300838c 100644 --- a/deployments/manifests/20-dev.yaml +++ b/deployments/manifests/20-dev.yaml @@ -11,4 +11,5 @@ spec: chart: ./ sourceRef: kind: GitRepository - name: flux-system + name: home-server-dev + namespace: flux-system diff --git a/deployments/manifests/20-prod.yaml b/deployments/manifests/20-prod.yaml index 77b349f..9dd5a3e 100644 --- a/deployments/manifests/20-prod.yaml +++ b/deployments/manifests/20-prod.yaml @@ -11,4 +11,5 @@ spec: chart: ./ sourceRef: kind: GitRepository - name: flux-system + name: home-server-prod + namespace: flux-system From 99e69421a86718e05192cb8eb86dd3aa153d381c Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:49:08 +1000 Subject: [PATCH 6/7] Fix duplicate declaration --- charts/dns/templates/bind-slave.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/dns/templates/bind-slave.yaml b/charts/dns/templates/bind-slave.yaml index 091e96e..249e40d 100644 --- a/charts/dns/templates/bind-slave.yaml +++ b/charts/dns/templates/bind-slave.yaml @@ -119,13 +119,13 @@ spec: apiVersion: v1 kind: Service metadata: - name: bind-master + name: bind-slave namespace: default spec: type: LoadBalancer externalTrafficPolicy: Local selector: - app: bind-master + app: bind-slave ports: - name: dns-udp port: 53 From 94f86472e7cbedafeea25c51555e6512d29bf0ad Mon Sep 17 00:00:00 2001 From: j Date: Sat, 5 Jul 2025 23:51:26 +1000 Subject: [PATCH 7/7] Remove slave for now. Master worked never got slave working. Need fucntional to move to dev --- charts/dns/templates/bind-slave.yaml | 138 --------------------------- 1 file changed, 138 deletions(-) delete mode 100644 charts/dns/templates/bind-slave.yaml diff --git a/charts/dns/templates/bind-slave.yaml b/charts/dns/templates/bind-slave.yaml deleted file mode 100644 index 249e40d..0000000 --- a/charts/dns/templates/bind-slave.yaml +++ /dev/null @@ -1,138 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: bind-slave-config -data: - named.conf: | - include "/etc/bind/externaldns-key.conf"; - - options { - directory "/var/cache/bind"; - - recursion yes; - allow-query { any; }; - - listen-on port 53 { any; }; - listen-on-v6 port 53 { any; }; - - forwarders { - 10.40.0.254; - }; - - dnssec-validation auto; - }; - - zone "." IN { - type hint; - file "/usr/share/dns/root.hints"; - }; - - zone "hxme.net." IN { - type master; - file "/etc/bind/db.hxme.net"; - allow-update { key "externaldns-key"; }; - }; - db.hxme.net: | - $TTL 3600 - @ IN SOA ns1.hxme.net. admin.hxme.net. ( - 1 ; Serial - 7200 ; Refresh - 1800 ; Retry - 1209600 ; Expire - 86400 ) ; Negative Cache TTL - ; - @ IN NS ns1.hxme.net. - ns1 IN A 10.40.0.110 - @ IN A 10.40.0.110 - www IN A 10.40.0.110 ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: bind-slave -spec: - selector: - matchLabels: - app: bind-slave - template: - metadata: - labels: - app: bind-slave - spec: - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - securityContext: - fsGroup: 999 - initContainers: - - name: fetch-root-hints - image: debian:12 - command: - - sh - - -c - - | - apt update && apt -y install curl - curl -sfSL https://www.internic.net/domain/named.cache -o /usr/share/dns/root.hints - volumeMounts: - - mountPath: /usr/share/dns - name: root-hints - containers: - - name: bind-slave - image: internetsystemsconsortium/bind9:9.18 - command: ["named", "-g", "-c", "/etc/bind/named.conf"] - ports: - - containerPort: 53 - protocol: UDP - - containerPort: 53 - protocol: TCP - volumeMounts: - - name: config - mountPath: /etc/bind/named.conf - subPath: named.conf - - name: config - mountPath: /etc/bind/db.hxme.net - subPath: db.hxme.net - - name: dns-secrets - mountPath: /etc/bind/externaldns-key.conf - subPath: externaldns-key.conf - - name: bind-cache - mountPath: /var/cache/bind - - name: bind-rundir - mountPath: /var/run/named - - name: root-hints - mountPath: /usr/share/dns - volumes: - - name: dns-secrets - secret: - secretName: dns-secrets - - name: config - configMap: - name: bind-slave-config - - name: bind-cache - emptyDir: {} - - name: bind-rundir - emptyDir: {} - - name: root-hints - emptyDir: {} - ---- -apiVersion: v1 -kind: Service -metadata: - name: bind-slave - namespace: default -spec: - type: LoadBalancer - externalTrafficPolicy: Local - selector: - app: bind-slave - ports: - - name: dns-udp - port: 53 - protocol: UDP - targetPort: 53 - - name: dns-tcp - port: 53 - protocol: TCP - targetPort: 53 -