Merge pull request 'Loop-livekit-server-chart' (#1) from Loop-livekit-server-chart into master

Reviewed-on: #1
This commit is contained in:
Stuart Armstrong 2025-07-23 12:51:12 +00:00
commit 8e6e32861e
6 changed files with 151 additions and 0 deletions

View File

@ -0,0 +1,21 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj

View File

@ -0,0 +1,9 @@
dependencies:
- name: livekit-server
repository: https://helm.livekit.io
version: 1.8.3
- name: redis
repository: https://raw.githubusercontent.com/bitnami/charts/refs/heads/archive-full-index/bitnami
version: 18.19.4
digest: sha256:58b79cbc646dffca803116ce91c65d80c2c46f7b14063dd71733c2a2e6aae668
generated: "2025-07-22T10:50:06.729021298+03:00"

View File

@ -0,0 +1,19 @@
apiVersion: v2
appVersion: v1.8.3
name: loop-livekit-server
description: Loop-livekit-server for Onprem Loop deployments.
maintainers:
- email: dmitry.aloyan@wilix.org
name: dmitry.aloyan
- email: stuart.armstrong@wilix.org
name: stuart.armstrong
dependencies:
- name: livekit-server
repository: https://helm.livekit.io
version: "1.8.3"
alias: loop-livekit-server
- name: redis
version: "18.19.4"
repository: https://raw.githubusercontent.com/bitnami/charts/refs/heads/archive-full-index/bitnami
condition: redis.enabled
version: 1.0.0

View File

@ -0,0 +1,8 @@
**Loop-livekit-server:**
The original livekit-server chart has to be deployed on major cloud providers, like AWS, Google etc. This chart can be deployed on other k8s clusters.
The basic change is in the extra ../templates/livekit-ingress.yaml. This creates a normal k8s ingress, that is not dependent on specific Cloud Provider infrastructure.
The values.yaml values have been adjusted to not use specific Cloud Provider infrastructure.

View File

@ -0,0 +1,26 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: loop-livekit-server
annotations:
cert-manager.io/cluster-issuer: ""
spec:
ingressClassName: ""
rules:
- host: {{ .Values.ingress_hostname }}
http:
paths:
- pathType: Prefix
path: /
backend:
service:
{{- if index .Values "loop-livekit-server" "nameOverride" }}
name: {{ .Release.Name }}-{{ index .Values "loop-livekit-server" "nameOverride" }}
{{- end }}
port:
number: 80
tls:
- hosts:
- {{ .Values.ingress_hostname }}
secretName: {{ printf "%s-tls" .Values.ingress_hostname }}

View File

@ -0,0 +1,68 @@
loop-livekit-server:
livekit:
port: 8880
log_level: info
prometheus_port: 9000
rtc:
tcp_port: 8881
port_range_start: 50000
port_range_end: 59990
# udp_port: 7882
use_external_ip: true
redis:
address: livekit-redis-master:6379
db: 0
# username: redis
password: ""
keys:
IEUaM1cpqRS3Lhgx5X7R6wu46t5xts: "895rOrvTysc1U0MOoujYgrPl1Xh4ferv4ynv5Zyh4kh2JEfOsr" # Important! Generate and use your own keys.
turn:
enabled: false
# Must match domain of your tls cert
domain: ""
secretName: ""
loadBalancerAnnotations: {}
room:
# auto_create: false
empty_timeout: 300
departure_timeout: 20
replicaCount: 2
terminationGracePeriodSeconds: "3600"
resources:
limits:
cpu: 4000m
memory: 2048Mi
requests:
cpu: 250m
memory: 1024Mi
nameOverride: livekit-server
serviceMonitor:
create: true
ingress_hostname: "" # livekit URL
redis:
enabled: true
fullnameOverride: livekit-redis
nameOverride: livekit-redis
architecture: replication
image:
debug: true
auth:
enabled: true
password: ""
master:
persistence:
storageClass: longhorn
size: 2Gi
replica:
replicaCount: 2
persistence:
storageClass: longhorn
size: 2Gi