From 3b8be5c7ee51a4bf494a4b01c19f091e28bea19a Mon Sep 17 00:00:00 2001 From: GigiaJ Date: Thu, 4 Dec 2025 03:02:16 -0600 Subject: [PATCH] Add DB for Nextcloud --- .../services/nextcloud/database/service.cljs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/main/k8s/services/nextcloud/database/service.cljs diff --git a/src/main/k8s/services/nextcloud/database/service.cljs b/src/main/k8s/services/nextcloud/database/service.cljs new file mode 100644 index 0000000..240f4fc --- /dev/null +++ b/src/main/k8s/services/nextcloud/database/service.cljs @@ -0,0 +1,40 @@ +(ns k8s.services.nextcloud.database.service) + +(def config + {:stack [:vault:prepare :k8s:pvc :k8s:deployment :k8s:service] + :app-namespace "nextcloud" + :app-name "nextcloud-db" + + :k8s:pvc-opts + {:metadata {:name "nextcloud-mariadb-disk" + :namespace "nextcloud"} + :spec {:storageClassName "hcloud-volumes" + :accessModes ["ReadWriteOnce"] + :resources {:requests {:storage "10Gi"}}}} + + :k8s:deployment-opts + {:spec + {:template + {:metadata + {:annotations {"backup.velero.io/backup-volumes" "db"}} + + :spec + {:containers + [{:name 'app-name + :image "mariadb:10.6" + + :ports [{:containerPort 3306}] + + :env [{:name "MYSQL_ROOT_PASSWORD" :value 'mariadb-root-password} + {:name "MYSQL_DATABASE" :value "nextcloud"} + {:name "MYSQL_USER" :value 'username} + {:name "MYSQL_PASSWORD" :value 'mariadb-password}] + + :volumeMounts [{:name "db" :mountPath "/var/lib/mysql"}]}] + + :volumes + [{:name "db" :persistentVolumeClaim {:claimName "nextcloud-mariadb-disk"}}]}}}} + + :k8s:service-opts + {:spec {:selector {:app 'app-name} + :ports [{:name 'app-name :port 3306 :targetPort 3306}]}}}) \ No newline at end of file