From fe74c4df9c59c902adb87d29c0c6d1b80505ed1e Mon Sep 17 00:00:00 2001 From: j Date: Mon, 4 Aug 2025 00:10:32 +1000 Subject: [PATCH] #15 Move databases to database namespace and section --- deployments/databases/influxdb.yaml | 77 ++++++++++++++ deployments/databases/kustomization.yaml | 0 .../{operators => databases}/mariadb.yaml | 14 +-- deployments/databases/namespace.yaml | 5 + .../{operators => databases}/postgresql.yaml | 19 ++-- .../{operators => databases}/redis.yaml | 4 +- deployments/operators/databases.yaml | 100 ------------------ 7 files changed, 95 insertions(+), 124 deletions(-) create mode 100644 deployments/databases/influxdb.yaml create mode 100644 deployments/databases/kustomization.yaml rename deployments/{operators => databases}/mariadb.yaml (86%) create mode 100644 deployments/databases/namespace.yaml rename deployments/{operators => databases}/postgresql.yaml (93%) rename deployments/{operators => databases}/redis.yaml (89%) delete mode 100644 deployments/operators/databases.yaml diff --git a/deployments/databases/influxdb.yaml b/deployments/databases/influxdb.yaml new file mode 100644 index 0000000..2cac6b9 --- /dev/null +++ b/deployments/databases/influxdb.yaml @@ -0,0 +1,77 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: influxdb-pvc + namespace: database +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: influxdb-pv + namespace: database +spec: + capacity: + storage: 20Gi + accessModes: + - ReadWriteOnce + storageClassName: local-storage + hostPath: + path: /dpool/services/influxdb/data + type: DirectoryOrCreate + persistentVolumeReclaimPolicy: Retain + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - dck.hxme.net + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: influxdb + namespace: database +spec: + replicas: 1 + selector: + matchLabels: + app: influxdb + template: + metadata: + labels: + app: influxdb + spec: + containers: + - name: influxdb + image: influxdb:2.8-alpine + ports: + - containerPort: 8086 + volumeMounts: + - name: influxdb-storage + mountPath: /var/lib/influxdb2 + env: + - name: DOCKER_INFLUXDB_INIT_MODE + value: "setup" + - name: DOCKER_INFLUXDB_INIT_USERNAME + value: "admin" + - name: DOCKER_INFLUXDB_INIT_PASSWORD + value: "adminpassword" + - name: DOCKER_INFLUXDB_INIT_ORG + value: "myorg" + - name: DOCKER_INFLUXDB_INIT_BUCKET + value: "mybucket" + volumes: + - name: influxdb-storage + persistentVolumeClaim: + claimName: influxdb-pvc diff --git a/deployments/databases/kustomization.yaml b/deployments/databases/kustomization.yaml new file mode 100644 index 0000000..e69de29 diff --git a/deployments/operators/mariadb.yaml b/deployments/databases/mariadb.yaml similarity index 86% rename from deployments/operators/mariadb.yaml rename to deployments/databases/mariadb.yaml index 576d0ce..ae86891 100644 --- a/deployments/operators/mariadb.yaml +++ b/deployments/databases/mariadb.yaml @@ -1,9 +1,4 @@ --- -apiVersion: v1 -kind: Namespace -metadata: - name: mariadb-system ---- apiVersion: source.toolkit.fluxcd.io/v1 kind: HelmRepository metadata: @@ -12,12 +7,13 @@ metadata: spec: url: https://helm.mariadb.com/mariadb-operator interval: 1h + --- apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: mariadb-operator-crds - namespace: mariadb-system + namespace: database spec: interval: 30m chart: @@ -33,12 +29,13 @@ spec: upgrade: disableWait: true timeout: 5m + --- apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: mariadb-operator - namespace: mariadb-system + namespace: database spec: interval: 30m chart: @@ -53,5 +50,4 @@ spec: createNamespace: true dependsOn: - name: mariadb-operator-crds - namespace: mariadb-system - + namespace: database diff --git a/deployments/databases/namespace.yaml b/deployments/databases/namespace.yaml new file mode 100644 index 0000000..4c34a8f --- /dev/null +++ b/deployments/databases/namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: database diff --git a/deployments/operators/postgresql.yaml b/deployments/databases/postgresql.yaml similarity index 93% rename from deployments/operators/postgresql.yaml rename to deployments/databases/postgresql.yaml index acd9c06..d0c2bb5 100644 --- a/deployments/operators/postgresql.yaml +++ b/deployments/databases/postgresql.yaml @@ -1,16 +1,9 @@ - ---- -apiVersion: v1 -kind: Namespace -metadata: - name: postgres - --- apiVersion: v1 kind: PersistentVolume metadata: name: postgres-pv - namespace: postgres + namespace: database spec: capacity: storage: 5Gi @@ -26,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: postgres-pvc - namespace: postgres + namespace: database spec: accessModes: - ReadWriteOnce @@ -41,7 +34,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: postgres - namespace: postgres + namespace: database spec: replicas: 1 selector: @@ -73,7 +66,7 @@ apiVersion: v1 kind: Service metadata: name: postgres - namespace: postgres + namespace: database spec: selector: app: postgres @@ -101,7 +94,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: postgres-backup-pvc - namespace: postgres + namespace: database spec: accessModes: - ReadWriteOnce @@ -116,7 +109,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: postgres-backup - namespace: postgres + namespace: database spec: schedule: "0 2 * * *" # Every day at 2 AM jobTemplate: diff --git a/deployments/operators/redis.yaml b/deployments/databases/redis.yaml similarity index 89% rename from deployments/operators/redis.yaml rename to deployments/databases/redis.yaml index b21967c..33d045c 100644 --- a/deployments/operators/redis.yaml +++ b/deployments/databases/redis.yaml @@ -3,7 +3,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: redis - namespace: home-server + namespace: database spec: replicas: 1 selector: @@ -24,7 +24,7 @@ apiVersion: v1 kind: Service metadata: name: redis - namespace: home-server + namespace: database spec: selector: app: redis diff --git a/deployments/operators/databases.yaml b/deployments/operators/databases.yaml deleted file mode 100644 index dd3711c..0000000 --- a/deployments/operators/databases.yaml +++ /dev/null @@ -1,100 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: database - - -## MariaDB Specific ---- -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: mariadb-operator - namespace: flux-system -spec: - url: https://helm.mariadb.com/mariadb-operator - interval: 1h ---- -apiVersion: helm.toolkit.fluxcd.io/v2 -kind: HelmRelease -metadata: - name: mariadb-operator-crds - namespace: database -spec: - interval: 30m - chart: - spec: - chart: mariadb-operator-crds - version: 0.38.1 - sourceRef: - kind: HelmRepository - name: mariadb-operator - namespace: flux-system - install: - createNamespace: true - upgrade: - disableWait: true - timeout: 5m ---- -apiVersion: helm.toolkit.fluxcd.io/v2 -kind: HelmRelease -metadata: - name: mariadb-operator - namespace: database -spec: - interval: 30m - chart: - spec: - chart: mariadb-operator - version: 0.38.1 - sourceRef: - kind: HelmRepository - name: mariadb-operator - namespace: flux-system - install: - createNamespace: true - dependsOn: - - name: mariadb-operator-crds - namespace: mariadb-system - - - -## REDIS ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: redis - namespace: database -spec: - replicas: 1 - selector: - matchLabels: - app: redis - template: - metadata: - labels: - app: redis - spec: - containers: - - name: redis - image: redis:7 - ports: - - containerPort: 6379 ---- -apiVersion: v1 -kind: Service -metadata: - name: redis - namespace: database -spec: - selector: - app: redis - ports: - - port: 6379 - - - -## PostgreSQL -