From fd1b0333460c5759dfd43305b4d9e65f5b12ba8b Mon Sep 17 00:00:00 2001 From: Cocopops16 Date: Sun, 23 Mar 2025 13:49:11 +0100 Subject: [PATCH] add jo-scrapper database --- jo-scrapper/postgres/db-backup-cron.yaml | 59 +++++++++++++++++++++++ jo-scrapper/postgres/db-deployment.yaml | 32 ++++++++++++ jo-scrapper/postgres/db-service.yaml | 12 +++++ jo-scrapper/postgres/db-volume-claim.yaml | 11 +++++ 4 files changed, 114 insertions(+) create mode 100644 jo-scrapper/postgres/db-backup-cron.yaml create mode 100644 jo-scrapper/postgres/db-deployment.yaml create mode 100644 jo-scrapper/postgres/db-service.yaml create mode 100644 jo-scrapper/postgres/db-volume-claim.yaml diff --git a/jo-scrapper/postgres/db-backup-cron.yaml b/jo-scrapper/postgres/db-backup-cron.yaml new file mode 100644 index 0000000..360aef8 --- /dev/null +++ b/jo-scrapper/postgres/db-backup-cron.yaml @@ -0,0 +1,59 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + name: jo-scrapper-postgres-backup +spec: + schedule: "0 0 * * *" + jobTemplate: + spec: + template: + spec: + initContainers: + - name: dump + image: postgres:14 + imagePullPolicy: IfNotPresent + volumeMounts: + - name: data + mountPath: /backup + args: + - pg_dump + - "-Fc" + - "-f" + - "/backup/jo-scrapper-postgres.pgdump" + - "-Z" + - "9" + - "-v" + - "-h" + - "jo-scrapper-postgresdb" + - "-U" + - "jo-scrapper" + - "-d" + - "lois" + env: + - name: PGPASSWORD + valueFrom: + secretKeyRef: + # Retrieve postgres password from a secret + name: jo-scrapper-postgresdb-creds + key: POSTGRES_PASSWORD + containers: + - name: save + image: amazon/aws-cli + volumeMounts: + - name: data + mountPath: /backup + args: + - s3 + - cp + - "/backup/jo-scrapper-postgres.pgdump" + - "s3://media-object-storage/jo-scrapper-postgres.pgdump" + - "--endpoint" + - "https://s3.gra.io.cloud.ovh.net" + envFrom: + - secretRef: + # Must contain AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION + name: media-object-storage-creds + restartPolicy: Never + volumes: + - name: data + emptyDir: {} \ No newline at end of file diff --git a/jo-scrapper/postgres/db-deployment.yaml b/jo-scrapper/postgres/db-deployment.yaml new file mode 100644 index 0000000..481e820 --- /dev/null +++ b/jo-scrapper/postgres/db-deployment.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jo-scrapper-postgresdb +spec: + replicas: 1 + selector: + matchLabels: + app: jo-scrapper-postgresdb + template: + metadata: + labels: + app: jo-scrapper-postgresdb + spec: + containers: + - name: jo-scrapper-postgresdb + image: 'postgres:14' + imagePullPolicy: IfNotPresent + ports: + - containerPort: 5432 + envFrom: + - secretRef: + # Must contain POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD + name: jo-scrapper-postgresdb-creds + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: db-data + subPath: postgres + volumes: + - name: db-data + persistentVolumeClaim: + claimName: jo-scrapper-db-persistent-volume-claim diff --git a/jo-scrapper/postgres/db-service.yaml b/jo-scrapper/postgres/db-service.yaml new file mode 100644 index 0000000..12dafd7 --- /dev/null +++ b/jo-scrapper/postgres/db-service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: jo-scrapper-postgresdb + labels: + app: jo-scrapper-postgresdb +spec: + type: NodePort + ports: + - port: 5432 + selector: + app: jo-scrapper-postgresdb \ No newline at end of file diff --git a/jo-scrapper/postgres/db-volume-claim.yaml b/jo-scrapper/postgres/db-volume-claim.yaml new file mode 100644 index 0000000..c809f44 --- /dev/null +++ b/jo-scrapper/postgres/db-volume-claim.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jo-scrapper-db-persistent-volume-claim +spec: + storageClassName: csi-cinder-high-speed-gen2 + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi \ No newline at end of file