1---
2apiVersion: v1
3kind: Namespace
4metadata:
5 name: ${ZED_KUBE_NAMESPACE}
6
7---
8kind: Service
9apiVersion: v1
10metadata:
11 namespace: ${ZED_KUBE_NAMESPACE}
12 name: collab
13 annotations:
14 service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
15 service.beta.kubernetes.io/do-loadbalancer-certificate-id: ${ZED_DO_CERTIFICATE_ID}
16spec:
17 type: LoadBalancer
18 selector:
19 app: collab
20 ports:
21 - name: web
22 protocol: TCP
23 port: 443
24 targetPort: 8080
25
26---
27apiVersion: apps/v1
28kind: Deployment
29metadata:
30 namespace: ${ZED_KUBE_NAMESPACE}
31 name: collab
32
33spec:
34 replicas: 1
35 selector:
36 matchLabels:
37 app: collab
38 template:
39 metadata:
40 labels:
41 app: collab
42 annotations:
43 ad.datadoghq.com/collab.check_names: |
44 ["openmetrics"]
45 ad.datadoghq.com/collab.init_configs: |
46 [{}]
47 ad.datadoghq.com/collab.instances: |
48 [
49 {
50 "openmetrics_endpoint": "http://%%host%%:%%port%%/metrics",
51 "namespace": "collab_${ZED_KUBE_NAMESPACE}",
52 "metrics": [".*"]
53 }
54 ]
55 spec:
56 containers:
57 - name: collab
58 image: "${ZED_IMAGE_ID}"
59 args:
60 - serve
61 ports:
62 - containerPort: 8080
63 protocol: TCP
64 livenessProbe:
65 httpGet:
66 path: /healthz
67 port: 8080
68 initialDelaySeconds: 5
69 periodSeconds: 5
70 timeoutSeconds: 5
71 readinessProbe:
72 httpGet:
73 path: /
74 port: 8080
75 initialDelaySeconds: 1
76 periodSeconds: 1
77 env:
78 - name: HTTP_PORT
79 value: "8080"
80 - name: DATABASE_URL
81 valueFrom:
82 secretKeyRef:
83 name: database
84 key: url
85 - name: DATABASE_MAX_CONNECTIONS
86 value: "${DATABASE_MAX_CONNECTIONS}"
87 - name: API_TOKEN
88 valueFrom:
89 secretKeyRef:
90 name: api
91 key: token
92 - name: LIVE_KIT_SERVER
93 valueFrom:
94 secretKeyRef:
95 name: livekit
96 key: server
97 - name: LIVE_KIT_KEY
98 valueFrom:
99 secretKeyRef:
100 name: livekit
101 key: key
102 - name: LIVE_KIT_SECRET
103 valueFrom:
104 secretKeyRef:
105 name: livekit
106 key: secret
107 - name: INVITE_LINK_PREFIX
108 value: ${INVITE_LINK_PREFIX}
109 - name: RUST_BACKTRACE
110 value: "1"
111 - name: RUST_LOG
112 value: ${RUST_LOG}
113 - name: LOG_JSON
114 value: "true"
115 - name: ZED_ENVIRONMENT
116 value: ${ZED_ENVIRONMENT}
117 securityContext:
118 capabilities:
119 # FIXME - Switch to the more restrictive `PERFMON` capability.
120 # This capability isn't yet available in a stable version of Debian.
121 add: ["SYS_ADMIN"]