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