# TP14 partie 6 : PostgreSQL avec stockage persistant (PVC, StorageClass local-path de K3s).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pgdata
  namespace: tp14
spec:
  accessModes: ["ReadWriteOnce"]
  storageClassName: local-path
  resources:
    requests:
      storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres
  namespace: tp14
spec:
  replicas: 1
  strategy:
    type: Recreate # un seul Pod à la fois peut monter un volume ReadWriteOnce
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
        - name: postgres
          image: postgres:17-alpine
          env:
            - name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: postgres-secret
                  key: password
            - name: PGDATA
              value: /var/lib/postgresql/data/pgdata
          ports:
            - containerPort: 5432
          # TODO : monter le PVC pgdata sur /var/lib/postgresql/data (volumes + volumeMounts)
