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