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 env:
63 - name: HTTP_PORT
64 value: "8080"
65 - name: DATABASE_URL
66 valueFrom:
67 secretKeyRef:
68 name: database
69 key: url
70 - name: API_TOKEN
71 valueFrom:
72 secretKeyRef:
73 name: api
74 key: token
75 - name: LIVE_KIT_SERVER
76 valueFrom:
77 secretKeyRef:
78 name: livekit
79 key: server
80 - name: LIVE_KIT_KEY
81 valueFrom:
82 secretKeyRef:
83 name: livekit
84 key: key
85 - name: LIVE_KIT_SECRET
86 valueFrom:
87 secretKeyRef:
88 name: livekit
89 key: secret
90 - name: INVITE_LINK_PREFIX
91 value: ${INVITE_LINK_PREFIX}
92 - name: RUST_LOG
93 value: ${RUST_LOG}
94 - name: LOG_JSON
95 value: "true"
96 securityContext:
97 capabilities:
98 # FIXME - Switch to the more restrictive `PERFMON` capability.
99 # This capability isn't yet available in a stable version of Debian.
100 add: ["SYS_ADMIN"]