# Warehouse13 - Production Deployment Example # Use this for production environments with ingress and proper resources global: deploymentMode: "standard" storageBackend: "minio" postgres: enabled: true image: repository: postgres tag: 15-alpine pullPolicy: IfNotPresent auth: username: warehouse13user password: CHANGE_ME_SECURE_PASSWORD database: warehouse13 persistence: enabled: true size: 50Gi storageClass: "fast-ssd" resources: requests: memory: "1Gi" cpu: "1000m" limits: memory: "2Gi" cpu: "2000m" minio: enabled: true image: repository: minio/minio tag: latest pullPolicy: IfNotPresent auth: rootUser: CHANGE_ME_MINIO_USER rootPassword: CHANGE_ME_MINIO_PASSWORD persistence: enabled: true size: 500Gi storageClass: "bulk-storage" resources: requests: memory: "2Gi" cpu: "1000m" limits: memory: "4Gi" cpu: "2000m" app: enabled: true image: repository: warehouse13/app tag: v1.0.0 pullPolicy: IfNotPresent replicas: 3 resources: requests: memory: "768Mi" cpu: "750m" limits: memory: "1536Mi" cpu: "1500m" healthCheck: enabled: true ingress: enabled: true className: "nginx" annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" hosts: - host: warehouse13.example.com paths: - path: / pathType: Prefix backend: app tls: - secretName: warehouse13-tls hosts: - warehouse13.example.com # Affinity for pod distribution affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: - warehouse13 topologyKey: kubernetes.io/hostname