87 lines
2.5 KiB
YAML

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