apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization metadata: name: bakery-ia-dev # Note: Removed global namespace to prevent monitoring namespace conflict # All base resources already have namespace: bakery-ia defined resources: - ../../base # Monitoring disabled for dev to save resources # - ../../base/components/monitoring - dev-ingress.yaml # Exclude nominatim from dev to save resources # Using scale to 0 for StatefulSet to prevent pod creation patches: # Override specific ConfigMap values for development - target: kind: ConfigMap name: bakery-config patch: |- - op: replace path: /data/ENVIRONMENT value: "development" - op: replace path: /data/DEBUG value: "true" - op: replace path: /data/LOG_LEVEL value: "DEBUG" - op: replace path: /data/AUTO_RELOAD value: "true" - op: replace path: /data/PROFILING_ENABLED value: "true" - op: replace path: /data/MOCK_EXTERNAL_APIS value: "false" - op: replace path: /data/TESTING value: "false" - op: replace path: /data/DOMAIN value: "localhost" - op: replace path: /data/API_DOCS_ENABLED value: "true" - op: replace path: /data/CORS_ORIGINS value: "http://frontend-service:3000,http://localhost:3000,http://localhost:3001,http://localhost,http://127.0.0.1:3000,http://127.0.0.1:3001,http://bakery-ia.local,https://localhost,https://127.0.0.1" - op: replace path: /data/VITE_ENVIRONMENT value: "development" - op: replace path: /data/VITE_API_URL value: "/api" - op: replace path: /data/STRIPE_PUBLISHABLE_KEY value: "pk_test_your_stripe_publishable_key_here" - op: replace path: /data/SQUARE_ENVIRONMENT value: "sandbox" - op: replace path: /data/TOAST_ENVIRONMENT value: "sandbox" - op: replace path: /data/LIGHTSPEED_ENVIRONMENT value: "sandbox" - op: replace path: /data/RATE_LIMIT_ENABLED value: "true" # Changed from false for dev-prod parity - op: add path: /data/RATE_LIMIT_PER_MINUTE value: "1000" # High limit for development (prod: 60) - op: replace path: /data/DB_FORCE_RECREATE value: "false" - op: add path: /data/DEVELOPMENT_MODE value: "true" - op: add path: /data/DEBUG_LOGGING value: "true" - op: add path: /data/SKIP_MIGRATION_VERSION_CHECK value: "false" - target: kind: StatefulSet name: nominatim patch: |- - op: replace path: /spec/replicas value: 0 # Suspend nominatim-init job in dev (not needed when nominatim is scaled to 0) - target: kind: Job name: nominatim-init patch: |- - op: replace path: /spec/suspend value: true - target: group: apps version: v1 kind: Deployment name: auth-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: redis patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: rabbitmq patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "300m" - target: group: apps version: v1 kind: Deployment name: auth-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "128Mi" cpu: "50m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: frontend patch: |- - op: replace path: /spec/template/spec/containers/0/imagePullPolicy value: Never - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "512Mi" cpu: "200m" limits: memory: "1Gi" cpu: "1000m" - target: group: apps version: v1 kind: Deployment name: gateway patch: |- - op: replace path: /spec/template/spec/containers/0/imagePullPolicy value: Never - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "128Mi" cpu: "100m" - target: group: apps version: v1 kind: Deployment name: alert-processor patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" # Database patches - target: group: apps version: v1 kind: Deployment name: external-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: forecasting-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: inventory-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: notification-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: orders-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: pos-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: production-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: recipes-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: sales-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: suppliers-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: tenant-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: training-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: ai-insights-db patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" # Service patches - target: group: apps version: v1 kind: Deployment name: external-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: forecasting-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: inventory-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: notification-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: orders-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: pos-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: production-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: recipes-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: sales-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: suppliers-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: tenant-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "64Mi" cpu: "25m" limits: memory: "256Mi" cpu: "200m" - target: group: apps version: v1 kind: Deployment name: training-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "256Mi" cpu: "100m" limits: memory: "1Gi" cpu: "500m" - target: group: apps version: v1 kind: Deployment name: ai-insights-service patch: |- - op: replace path: /spec/template/spec/containers/0/resources value: requests: memory: "128Mi" cpu: "50m" limits: memory: "512Mi" cpu: "300m" secretGenerator: - name: dev-secrets literals: - DEV_MODE=true labels: - includeSelectors: true pairs: environment: development tier: local images: - name: bakery/auth-service newTag: dev - name: bakery/tenant-service newTag: dev - name: bakery/training-service newTag: dev - name: bakery/forecasting-service newTag: dev - name: bakery/sales-service newTag: dev - name: bakery/external-service newTag: dev - name: bakery/notification-service newTag: dev - name: bakery/inventory-service newTag: dev - name: bakery/recipes-service newTag: dev - name: bakery/suppliers-service newTag: dev - name: bakery/pos-service newTag: dev - name: bakery/orders-service newTag: dev - name: bakery/production-service newTag: dev - name: bakery/alert-processor newTag: dev - name: bakery/ai-insights-service newTag: dev - name: bakery/demo-session-service newTag: dev - name: bakery/gateway newTag: dev - name: bakery/dashboard newTag: dev replicas: # Dev-Prod Parity: Run 2 replicas of critical services # This helps catch load balancing, session management, and race condition issues - name: auth-service count: 2 # Increased from 1 for dev-prod parity - name: tenant-service count: 1 - name: training-service count: 1 - name: forecasting-service count: 1 - name: sales-service count: 1 - name: external-service count: 1 - name: notification-service count: 1 - name: inventory-service count: 1 - name: recipes-service count: 1 - name: suppliers-service count: 1 - name: pos-service count: 1 - name: orders-service count: 1 - name: production-service count: 1 - name: alert-processor count: 1 - name: ai-insights-service count: 1 - name: demo-session-service count: 1 - name: gateway count: 2 # Increased from 1 for dev-prod parity - name: frontend count: 1