diff --git a/k8s/database/postgresql.yaml b/k8s/database/postgresql.yaml new file mode 100644 index 0000000..542c75f --- /dev/null +++ b/k8s/database/postgresql.yaml @@ -0,0 +1,69 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgres-db + namespace: portfolio +spec: + replicas: 1 + selector: + matchLabels: + app: postgres-db + template: + metadata: + labels: + app: postgres-db + spec: + containers: + - name: postgres-db + image: postgres:16 + ports: + - containerPort: 5432 + env: + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: backend-secrets + key: DB_USER + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: backend-secrets + key: DB_PASSWORD + - name: POSTGRES_DB + valueFrom: + secretKeyRef: + name: backend-secrets + key: DB_NAME + volumeMounts: + - name: postgres-storage + mountPath: /var/lib/postgresql/data + volumes: + - name: postgres-storage + persistentVolumeClaim: + claimName: postgres-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: postgres-db + namespace: portfolio +spec: + selector: + app: postgres-db + ports: + - protocol: TCP + port: 5432 + targetPort: 5432 + type: ClusterIP +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: postgres-pvc + namespace: portfolio +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi