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---
27kind: Service
28apiVersion: v1
29metadata:
30 namespace: ${ZED_KUBE_NAMESPACE}
31 name: pgadmin
32 annotations:
33 service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
34 service.beta.kubernetes.io/do-loadbalancer-certificate-id: ${ZED_DO_CERTIFICATE_ID}
35spec:
36 type: LoadBalancer
37 selector:
38 app: postgrest
39 ports:
40 - name: web
41 protocol: TCP
42 port: 443
43 targetPort: 8080
44
45---
46apiVersion: apps/v1
47kind: Deployment
48metadata:
49 namespace: ${ZED_KUBE_NAMESPACE}
50 name: collab
51
52spec:
53 replicas: 1
54 selector:
55 matchLabels:
56 app: collab
57 template:
58 metadata:
59 labels:
60 app: collab
61 annotations:
62 ad.datadoghq.com/collab.check_names: |
63 ["openmetrics"]
64 ad.datadoghq.com/collab.init_configs: |
65 [{}]
66 ad.datadoghq.com/collab.instances: |
67 [
68 {
69 "openmetrics_endpoint": "http://%%host%%:%%port%%/metrics",
70 "namespace": "collab_${ZED_KUBE_NAMESPACE}",
71 "metrics": [".*"]
72 }
73 ]
74 spec:
75 containers:
76 - name: collab
77 image: "${ZED_IMAGE_ID}"
78 args:
79 - serve
80 ports:
81 - containerPort: 8080
82 protocol: TCP
83 livenessProbe:
84 httpGet:
85 path: /healthz
86 port: 8080
87 initialDelaySeconds: 5
88 periodSeconds: 5
89 timeoutSeconds: 5
90 readinessProbe:
91 httpGet:
92 path: /
93 port: 8080
94 initialDelaySeconds: 1
95 periodSeconds: 1
96 env:
97 - name: HTTP_PORT
98 value: "8080"
99 - name: DATABASE_URL
100 valueFrom:
101 secretKeyRef:
102 name: database
103 key: url
104 - name: DATABASE_MAX_CONNECTIONS
105 value: "${DATABASE_MAX_CONNECTIONS}"
106 - name: API_TOKEN
107 valueFrom:
108 secretKeyRef:
109 name: api
110 key: token
111 - name: LIVE_KIT_SERVER
112 valueFrom:
113 secretKeyRef:
114 name: livekit
115 key: server
116 - name: LIVE_KIT_KEY
117 valueFrom:
118 secretKeyRef:
119 name: livekit
120 key: key
121 - name: LIVE_KIT_SECRET
122 valueFrom:
123 secretKeyRef:
124 name: livekit
125 key: secret
126 - name: INVITE_LINK_PREFIX
127 value: ${INVITE_LINK_PREFIX}
128 - name: RUST_BACKTRACE
129 value: "1"
130 - name: RUST_LOG
131 value: ${RUST_LOG}
132 - name: LOG_JSON
133 value: "true"
134 - name: ZED_ENVIRONMENT
135 value: ${ZED_ENVIRONMENT}
136 securityContext:
137 capabilities:
138 # FIXME - Switch to the more restrictive `PERFMON` capability.
139 # This capability isn't yet available in a stable version of Debian.
140 add: ["SYS_ADMIN"]
141
142---
143apiVersion: apps/v1
144kind: Deployment
145metadata:
146 namespace: ${ZED_KUBE_NAMESPACE}
147 name: postgrest
148
149spec:
150 replicas: 1
151 selector:
152 matchLabels:
153 app: postgrest
154 template:
155 metadata:
156 labels:
157 app: postgrest
158 spec:
159 containers:
160 - name: postgrest
161 image: "postgrest/postgrest"
162 ports:
163 - containerPort: 8080
164 protocol: TCP
165 env:
166 - name: PGRST_SERVER_PORT
167 value: "8080"
168 - name: PGRST_DB_URI
169 valueFrom:
170 secretKeyRef:
171 name: database
172 key: url
173 - name: PGRST_JWT_SECRET
174 valueFrom:
175 secretKeyRef:
176 name: postgrest
177 key: jwt_secret