apiVersion: apps/v1
kind: Deployment
metadata:
  name: pastebin-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: pastebin
  template:
    metadata:
      labels:
        app: pastebin
    spec:
      # Solo mantengo un initContainer para "uploads",
      # asumiendo que no necesitas fix-permissions para /app/database
      initContainers:
        - name: fix-permissions-uploads
          image: busybox
          command: ["sh", "-c", "chown -R 1000:1000 /app/uploads"]
          volumeMounts:
            - name: uploads
              mountPath: /app/uploads
      
      containers:
        - name: pastebin-container
image: prietus/pastebin-app:1.2
          ports:
            - containerPort: 5000
          securityContext:
            runAsUser: 0
            runAsGroup: 0
          env:
            # Variables para que tu app apunte a PostgreSQL
            - name: DB_ENGINE
              value: "postgres"
            - name: POSTGRES_HOST
              value: "db-service"               # <--- nombre del servicio de PostgreSQL en el cluster
            - name: POSTGRES_PORT
              value: "5432"
            - name: POSTGRES_USER
              value: "postgres"      # <--- ajusta según tu config
            - name: POSTGRES_PASSWORD
              value: "password"  # <--- ajusta según tu config
            - name: POSTGRES_DB
              value: "mypastedb"        # <--- ajusta según tu config

            # Usuario/contraseña por defecto de la app
            - name: VALID_USER
              value: "admin"
            - name: VALID_PASS
              value: "password"

            # Configuración de entorno Flask
            - name: FLASK_ENV
              value: "production"
          
          volumeMounts:
            - name: uploads
              mountPath: /app/uploads

      volumes:
        - name: uploads
          persistentVolumeClaim:
            claimName: uploads-pvc

