Skip to content

Commit 9b41e4c

Browse files
committed
add livekit-server manifests
1 parent 81ffd8a commit 9b41e4c

7 files changed

+176
-0
lines changed

kustomization.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@ namePrefix: meet-
77
buildMetadata: [originAnnotations]
88

99
resources:
10+
- manifests/certificate-livekit-turn.yaml
1011
- manifests/configmap-redis.yaml
12+
- manifests/configmap-livekit-server.yaml
1113
- manifests/deployment-backend.yaml
1214
- manifests/deployment-celery.yaml
15+
- manifests/deployment-livekit.yaml
1316
- manifests/deployment-frontend.yaml
1417
- manifests/deployment-mailcatcher.yaml
1518
- manifests/deployment-minio.yaml
1619
- manifests/deployment-redis.yaml
1720
- manifests/deployment-summary.yaml
1821
- manifests/ingress-admin.yaml
1922
- manifests/ingress-backend.yaml
23+
- manifests/ingress-livekit.yaml
2024
- manifests/postgresql-cluster.yaml
2125
- manifests/pvc-minio.yaml
2226
- manifests/secret-backend.yaml
@@ -25,6 +29,8 @@ resources:
2529
- manifests/secret-postgres.yaml
2630
- manifests/secret-summary.yaml
2731
- manifests/service-backend.yaml
32+
- manifests/service-livekit.yaml
33+
- manifests/service-livekit-turn.yaml
2834
- manifests/service-mailcatcher.yaml
2935
- manifests/service-frontend.yaml
3036
- manifests/service-minio.yaml
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: cert-manager.io/v1
2+
kind: Certificate
3+
metadata:
4+
name: livekit-turn-cert
5+
spec:
6+
dnsNames:
7+
- turn.meet.la-suite.apps.digilab.network
8+
issuerRef:
9+
kind: ClusterIssuer
10+
name: letsencrypt-prod
11+
secretName: livekit-turn-cert
12+
usages:
13+
- digital signature
14+
- key encipherment
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: livekit-livekit-server
5+
data:
6+
config.yaml: ENC[AES256_GCM,data:LL3ruEVj5zkCNjA3jwtsIdcMqtEeF0Kv7PzVOWFvCax0oBEC6kPLOwkIjK/SRXg5lHCkb5aeE2ZZ014o1HdlXw0H7iluNRikDkmltj5NXz/bX9s7MSCEIr1LgHncGj736zxQtWLGelXtm56nphzVepK4pUTuDC/kuetaemhXqPh/CIiSYqoic9vK0eDj8LQ0Uo2k+HACfZ0UiaoFCAfGnLxrsOqf9Jog+0dVXGtRpX7hl98eoVCasPfb2ndqxxQiTYq/c8uJlQqnVYj49jkHMA8RTZg/gta7ECBc70DB5mXAdetrZWThrg326zVA4adK4tW4+Xske9Ff6/H5Fn+qG0UAORCqhsMLdUUniHmdCnuxVjtp+BGmDhwyJlepQ855j4r6u+m9pvPuhGw04s0RpG/jZkTuySk4tpcFHb8hsOQ+xxX9o36fJFFXLBcUzWcD0ix3Qvci7Tcnz1U6VlmuplTO7nXWFgfWayHNQWCU8bPsR9oYJ7fUHYYGfZ2WT2XXNtTYVon+BMm5jz5LIXI/sKVcIg8TLJJd8W2WTMFOtEUrr778KvQT,iv:/owoP2k1xHxaV4C3ogBg5yB6kz7sTXaWG25mW8l6rS8=,tag:JXa9X8lxBItnMGHtQiv26g==,type:str]
7+
sops:
8+
kms: []
9+
gcp_kms: []
10+
azure_kv: []
11+
hc_vault: []
12+
age:
13+
- recipient: age18ut09wsuwf4pusrhywlu9nu3nzvz040m26h4yghhhtvqm88an3zssvsz9m
14+
enc: |
15+
-----BEGIN AGE ENCRYPTED FILE-----
16+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSb2loQVVxalN3TDZ0eVpx
17+
TlREWGszTmpIYjhlSzVxelBBWk5PaE5GRlM4Cm9QK0doZC9FUklEMk9zTkhac0lH
18+
TEdVSjBlQ1V3NDV0alZhZUVhNm9vR1EKLS0tIDJnTWxtWGpnY25ZK0VjWlNERWZl
19+
MWJhbHJ1cFkrZEJUL3BsYVNDZi9qeEkKSq9n6dwKxxhnKOcz92FgwKEZwKOmQVbC
20+
PzcmfHv7ZFxH5PBDZQoo3MxTZ3IMoLq81Cs30FxuZiZOPfn58/nq2g==
21+
-----END AGE ENCRYPTED FILE-----
22+
lastmodified: "2025-01-28T10:57:35Z"
23+
mac: ENC[AES256_GCM,data:sznBGa777b0cmWOFayI8RsJWm425PCy9MxOEQLVnAE098siIl5qxBcndSU9CgtLZaKm8MTHxJMKik+aX8PggbXHoI2RTIoMA7wXDoDdcUxPTSNtme7Bt1cPKayFrjgGFigr3NljgqJK5Q03DA14PORFIzo0xvtNWKtQ2ZVgwh1A=,iv:wrWy+v7tWfsayPqR3slLMB57LLlpVnaDGj4OJCFQ3nk=,tag:5SUj90drP05khBRhiFsHRw==,type:str]
24+
pgp: []
25+
encrypted_regex: ^data|stringData$
26+
version: 3.8.1

manifests/deployment-livekit.yaml

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: livekit-livekit-server
5+
spec:
6+
replicas: 1
7+
selector:
8+
matchLabels:
9+
app: meet-livekit-server
10+
template:
11+
metadata:
12+
labels:
13+
app: meet-livekit-server
14+
spec:
15+
dnsPolicy: ClusterFirstWithHostNet
16+
hostNetwork: true
17+
containers:
18+
- name: livekit-server
19+
image: "livekit/livekit-server:v1.8.3"
20+
args: ["--disable-strict-config"]
21+
env:
22+
- name: LIVEKIT_CONFIG
23+
valueFrom:
24+
configMapKeyRef:
25+
name: livekit-livekit-server
26+
key: config.yaml
27+
- name: LIVEKIT_TURN_CERT
28+
value: /etc/lkcert/tls.crt
29+
- name: LIVEKIT_TURN_KEY
30+
value: /etc/lkcert/tls.key
31+
ports:
32+
- name: http
33+
containerPort: 7880
34+
protocol: TCP
35+
- name: rtc-tcp
36+
containerPort: 7881
37+
hostPort: 7881
38+
protocol: TCP
39+
- name: turn-tls
40+
containerPort: 3478
41+
hostPort: 3478
42+
protocol: TCP
43+
livenessProbe:
44+
httpGet:
45+
path: /
46+
port: http
47+
readinessProbe:
48+
httpGet:
49+
path: /
50+
port: http
51+
volumeMounts:
52+
- name: lkturncert
53+
mountPath: /etc/lkcert
54+
readOnly: true
55+
- name: redis
56+
image: redis:7.2-alpine
57+
ports:
58+
- containerPort: 6379
59+
livenessProbe:
60+
tcpSocket:
61+
port: 6379
62+
initialDelaySeconds: 10
63+
periodSeconds: 10
64+
readinessProbe:
65+
exec:
66+
command:
67+
- redis-cli
68+
- ping
69+
initialDelaySeconds: 5
70+
periodSeconds: 5
71+
volumes:
72+
- name: lkturncert
73+
secret:
74+
secretName: livekit-turn-cert

manifests/ingress-livekit.yaml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: livekit-livekit-ingress
5+
annotations:
6+
cert-manager.io/cluster-issuer: letsencrypt-prod
7+
nginx.ingress.kubernetes.io/configuration-snippet: |
8+
proxy_set_header Upgrade "websocket";
9+
proxy_set_header Connection "Upgrade";
10+
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
11+
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
12+
spec:
13+
ingressClassName: nginx
14+
rules:
15+
- host: livekit.meet.la-suite.apps.digilab.network
16+
http:
17+
paths:
18+
- path: /
19+
pathType: Prefix
20+
backend:
21+
service:
22+
name: livekit-livekit-server
23+
port:
24+
name: http
25+
tls:
26+
- hosts:
27+
- livekit.meet.la-suite.apps.digilab.network
28+
secretName: livekit-cert

manifests/service-livekit-turn.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: livekit-livekit-server-turn
5+
spec:
6+
type: LoadBalancer
7+
ports:
8+
- port: 443
9+
targetPort: 3478
10+
protocol: TCP
11+
selector:
12+
app: meet-livekit-server

manifests/service-livekit.yaml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: livekit-livekit-server
5+
spec:
6+
ports:
7+
- port: 80
8+
targetPort: http
9+
protocol: TCP
10+
name: http
11+
- name: rtc-tcp
12+
port: 7881
13+
protocol: TCP
14+
targetPort: rtc-tcp
15+
selector:
16+
app: meet-livekit-server

0 commit comments

Comments
 (0)