apiVersion: apps/v1 kind: Deployment metadata: name: backend namespace: dubai-analytics spec: replicas: 3 selector: matchLabels: app: backend template: metadata: labels: app: backend spec: containers: - name: backend image: dubai-analytics:latest ports: - containerPort: 8000 env: - name: DEBUG valueFrom: configMapKeyRef: name: dubai-analytics-config key: DEBUG - name: DB_NAME valueFrom: configMapKeyRef: name: dubai-analytics-config key: DB_NAME - name: DB_USER valueFrom: configMapKeyRef: name: dubai-analytics-config key: DB_USER - name: DB_HOST valueFrom: configMapKeyRef: name: dubai-analytics-config key: DB_HOST - name: DB_PORT valueFrom: configMapKeyRef: name: dubai-analytics-config key: DB_PORT - name: REDIS_URL valueFrom: configMapKeyRef: name: dubai-analytics-config key: REDIS_URL - name: CELERY_BROKER_URL valueFrom: configMapKeyRef: name: dubai-analytics-config key: CELERY_BROKER_URL - name: SECRET_KEY valueFrom: secretKeyRef: name: dubai-analytics-secrets key: SECRET_KEY - name: DB_PASSWORD valueFrom: secretKeyRef: name: dubai-analytics-secrets key: DB_PASSWORD resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m" livenessProbe: httpGet: path: /api/health/ port: 8000 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /api/health/ port: 8000 initialDelaySeconds: 5 periodSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: backend-service namespace: dubai-analytics spec: selector: app: backend ports: - port: 8000 targetPort: 8000 type: ClusterIP