apiVersion: apps/v1 kind: Deployment metadata: name: whatsapp-medical-chatbot-api labels: app: whatsapp-medical-chatbot-api spec: replicas: 3 selector: matchLabels: app: whatsapp-medical-chatbot-api template: metadata: labels: app: whatsapp-medical-chatbot-api spec: containers: - name: api image: whatsapp-medical-chatbot-api:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8000 env: - name: APP_NAME valueFrom: configMapKeyRef: name: whatsapp-medical-chatbot-api-config key: APP_NAME - name: API_V1_PREFIX valueFrom: configMapKeyRef: name: whatsapp-medical-chatbot-api-config key: API_V1_PREFIX - name: SECRET_KEY valueFrom: secretKeyRef: name: whatsapp-medical-chatbot-api-secrets key: SECRET_KEY - name: WHATSAPP_API_URL valueFrom: configMapKeyRef: name: whatsapp-medical-chatbot-api-config key: WHATSAPP_API_URL - name: WHATSAPP_API_TOKEN valueFrom: secretKeyRef: name: whatsapp-medical-chatbot-api-secrets key: WHATSAPP_API_TOKEN - name: WHATSAPP_API_PHONE_NUMBER valueFrom: configMapKeyRef: name: whatsapp-medical-chatbot-api-config key: WHATSAPP_API_PHONE_NUMBER - name: WHATSAPP_VERIFY_TOKEN valueFrom: secretKeyRef: name: whatsapp-medical-chatbot-api-secrets key: WHATSAPP_VERIFY_TOKEN - name: OPENAI_API_KEY valueFrom: secretKeyRef: name: whatsapp-medical-chatbot-api-secrets key: OPENAI_API_KEY - name: SPEECH_TO_TEXT_API_KEY valueFrom: secretKeyRef: name: whatsapp-medical-chatbot-api-secrets key: SPEECH_TO_TEXT_API_KEY volumeMounts: - name: storage mountPath: /app/storage livenessProbe: httpGet: path: /api/v1/health port: 8000 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /api/v1/health port: 8000 initialDelaySeconds: 5 periodSeconds: 5 volumes: - name: storage persistentVolumeClaim: claimName: whatsapp-medical-chatbot-api-pvc