Files
juwan-backend/deploy/k01/services/chat.yaml
T
zetaloop c575b53843
build-and-push-harbor / docker-build-push (push) Waiting to run
refactor(k01): flatten directory layout and split deployment into five scripts
2026-05-06 02:37:25 +08:00

98 lines
2.3 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: chat-api
namespace: juwan
labels:
app: chat-api
spec:
replicas: 1
selector:
matchLabels:
app: chat-api
template:
metadata:
labels:
app: chat-api
spec:
imagePullSecrets:
- name: registry-creds
containers:
- name: chat-api
image: registry.juwan.xhttp.zip/juwan/chat-api:latest
ports:
- name: http
containerPort: 8888
- name: ws
containerPort: 8889
- name: wt
containerPort: 8443
hostPort: 8443
protocol: UDP
- name: metrics
containerPort: 4001
env:
- name: MONGO_PASSWORD
valueFrom:
secretKeyRef:
name: chat-mongodb-app-user-password
key: password
- name: MONGO_URI
value: "mongodb://app-user:$(MONGO_PASSWORD)@chat-mongodb-0.chat-mongodb-svc.juwan.svc.cluster.local:27017/juwan_chat?replicaSet=chat-mongodb&authSource=admin"
- name: MONGO_DATABASE
value: juwan_chat
- name: REDIS_HOST
value: chat-redis-master.juwan
- name: REDIS_PORT
value: "6379"
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: chat-redis
key: password
- name: JWT_SECRET_KEY
valueFrom:
secretKeyRef:
name: jwt-secret
key: secret-key
- name: CHAT_WT_CERT_FILE
value: "/etc/certs/tls.crt"
- name: CHAT_WT_KEY_FILE
value: "/etc/certs/tls.key"
volumeMounts:
- name: certs
mountPath: /etc/certs
readOnly: true
resources:
requests:
cpu: 20m
memory: 32Mi
volumes:
- name: certs
secret:
secretName: chat-wt-tls
---
apiVersion: v1
kind: Service
metadata:
name: chat-api-svc
namespace: juwan
spec:
ports:
- name: http
port: 8888
targetPort: 8888
- name: ws
port: 8889
targetPort: 8889
- name: wt
port: 8443
targetPort: 8443
protocol: UDP
- name: metrics
port: 4001
targetPort: 4001
selector:
app: chat-api