From aaa2cde425393adcc9a6e7a0f6d024456073ded5 Mon Sep 17 00:00:00 2001 From: j37hr0 Date: Sun, 26 Apr 2026 18:18:40 +1200 Subject: [PATCH] massive refactor --- apps/fireflyiii/{ => db}/fireflysecrets.yaml | 0 apps/fireflyiii/db/kustomization.yaml | 12 +++- apps/fireflyiii/kustomization.yaml | 1 - apps/kimai/kustomization.yaml | 4 -- apps/kimai/namespace.yaml | 2 +- .../databases/cloudnative-pg/namespace.yaml | 2 + .../cnpg-clusters/kustomization.yaml | 4 ++ .../databases/cnpg-clusters/pg-cluster.yaml | 10 +++ infrastructure/databases/kustomization.yaml | 1 + infrastructure/modules/postgres-app/job.yaml | 61 +++++++++++++++++++ .../modules/postgres-app/kustomization.yaml | 4 ++ 11 files changed, 94 insertions(+), 7 deletions(-) rename apps/fireflyiii/{ => db}/fireflysecrets.yaml (100%) create mode 100644 infrastructure/databases/cnpg-clusters/kustomization.yaml create mode 100644 infrastructure/databases/cnpg-clusters/pg-cluster.yaml create mode 100644 infrastructure/modules/postgres-app/job.yaml create mode 100644 infrastructure/modules/postgres-app/kustomization.yaml diff --git a/apps/fireflyiii/fireflysecrets.yaml b/apps/fireflyiii/db/fireflysecrets.yaml similarity index 100% rename from apps/fireflyiii/fireflysecrets.yaml rename to apps/fireflyiii/db/fireflysecrets.yaml diff --git a/apps/fireflyiii/db/kustomization.yaml b/apps/fireflyiii/db/kustomization.yaml index 5abe078..3298ca0 100644 --- a/apps/fireflyiii/db/kustomization.yaml +++ b/apps/fireflyiii/db/kustomization.yaml @@ -1,4 +1,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- firefly-db.yaml +- fireflysecrets.yaml +- ../../../infrastructure/modules/postgres-app + +patches: +- target: + kind: Job + name: postgres-init + patch: | + - op: replace + path: /metadata/name + value: postgres-init-firefly diff --git a/apps/fireflyiii/kustomization.yaml b/apps/fireflyiii/kustomization.yaml index 3736221..2ed7a6b 100644 --- a/apps/fireflyiii/kustomization.yaml +++ b/apps/fireflyiii/kustomization.yaml @@ -8,4 +8,3 @@ resources: - pvc.yaml - service.yaml - db -- fireflysecrets.yaml diff --git a/apps/kimai/kustomization.yaml b/apps/kimai/kustomization.yaml index 426f20b..163463b 100644 --- a/apps/kimai/kustomization.yaml +++ b/apps/kimai/kustomization.yaml @@ -5,10 +5,6 @@ resources: - db - kimaisecrets.yaml -#spec: -# dependsOn: -# - name: secrets - namespace: kimai configMapGenerator: diff --git a/apps/kimai/namespace.yaml b/apps/kimai/namespace.yaml index 5000218..348508f 100644 --- a/apps/kimai/namespace.yaml +++ b/apps/kimai/namespace.yaml @@ -3,4 +3,4 @@ kind: Namespace metadata: name: kimai labels: - backup: true + backup: "true" diff --git a/infrastructure/databases/cloudnative-pg/namespace.yaml b/infrastructure/databases/cloudnative-pg/namespace.yaml index 8deac4c..0b7d85b 100644 --- a/infrastructure/databases/cloudnative-pg/namespace.yaml +++ b/infrastructure/databases/cloudnative-pg/namespace.yaml @@ -2,3 +2,5 @@ apiVersion: v1 kind: Namespace metadata: name: cnpg-system + labels: + backup: "true" \ No newline at end of file diff --git a/infrastructure/databases/cnpg-clusters/kustomization.yaml b/infrastructure/databases/cnpg-clusters/kustomization.yaml new file mode 100644 index 0000000..291b3a8 --- /dev/null +++ b/infrastructure/databases/cnpg-clusters/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- pg-cluster.yaml diff --git a/infrastructure/databases/cnpg-clusters/pg-cluster.yaml b/infrastructure/databases/cnpg-clusters/pg-cluster.yaml new file mode 100644 index 0000000..16c95e6 --- /dev/null +++ b/infrastructure/databases/cnpg-clusters/pg-cluster.yaml @@ -0,0 +1,10 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: pg-cluster + namespace: pg-databases +spec: + instances: 3 + + storage: + size: 20Gi diff --git a/infrastructure/databases/kustomization.yaml b/infrastructure/databases/kustomization.yaml index b99de1b..26fb039 100644 --- a/infrastructure/databases/kustomization.yaml +++ b/infrastructure/databases/kustomization.yaml @@ -4,3 +4,4 @@ resources: - cloudnative-pg - mariadb-operator - mariadb-clusters +- cnpg-clusters diff --git a/infrastructure/modules/postgres-app/job.yaml b/infrastructure/modules/postgres-app/job.yaml new file mode 100644 index 0000000..d114f24 --- /dev/null +++ b/infrastructure/modules/postgres-app/job.yaml @@ -0,0 +1,61 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: postgres-init +spec: + template: + spec: + restartPolicy: OnFailure + containers: + - name: psql + image: postgres:16 + env: + - name: PGHOST + value: pg-cluster-rw.pg-databases.svc.cluster.local + - name: PGUSER + value: postgres + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: pg-superuser-secret + key: password + + - name: APP_DB + valueFrom: + secretKeyRef: + name: app-db-secret + key: database + - name: APP_USER + valueFrom: + secretKeyRef: + name: app-db-secret + key: username + - name: APP_PASSWORD + valueFrom: + secretKeyRef: + name: app-db-secret + key: password + + command: + - sh + - -c + - | + psql <