cw-infra-apps/livekit/livekit-server/values.yaml
2025-06-23 09:27:46 +00:00

184 lines
4.3 KiB
YAML

image:
repository: livekit/livekit-server
pullPolicy: IfNotPresent
imagePullSecrets: []
terminationGracePeriodSeconds: 18000
livekit:
port: 7880
log_level: info
rtc:
tcp_port: 7881
port_range_start: 50000
port_range_end: 60000
use_external_ip: true
enable_loopback_candidate: false
redis:
address: redis-master.redis.svc.cluster.local:6379
db: 0
username: ""
password: ""
use_tls: false
sentinel_master_name: ""
sentinel_username: ""
sentinel_password: ""
sentinel_addresses: []
cluster_addresses: []
max_redirects: null
keys:
APIXj3LbDJJPLHv: "eWWetAn7vlfgFQnXXHyyox8QceBYTnZcIMhDe4I16UeE"
turn:
enabled: true
domain: avt-p001.cw.ngcloud.ru
tls_port: 5349
udp_port: 3478
external_tls: true
serviceType: ClusterIP
webhook:
api_key: 'APIXj3LbDJJPLHv'
urls:
- 'http://livekit-webhook-handler-app.default.svc.cluster.local:5098/livekit/callback'
room:
departure_timeout: 1
prometheus:
port: 9092
loadBalancerAnnotations: {}
# Set this option to true if you want to store your API keys in a secret instead of the config file
storeKeysInSecret:
enabled: false
# Use a pre existing secret, useful to combine with external secret managers
# as GCP External Secrets or Hashicorp Vault
existingSecret: ""
# Define your API keys and secrets as key-value pairs here. These will be stored in the secret.
# Example: keys:
# my_api_key: my_api_secret
keys:
{}
# key value pairs (<api_key>: >api_secret>)
nameOverride: ""
fullnameOverride: ""
loadBalancer:
type: nginx
servicePort: 80
annotations:
kubernetes.io/ingress.class: "nginx"
tls:
- secretName: co-work-secret
hosts:
- av-p001.cw.ngcloud.ru
turnLoadbalancer:
enable: true
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 1
targetCPUUtilizationPercentage: 60
# targetMemoryUtilizationPercentage: 80
# if LiveKit should run only on specific nodes
# this can be used to isolate designated nodes
nodeSelector:
{}
# node.kubernetes.io/instance-type: c5.2xlarge
resources:
requests:
cpu: 2000m
memory: 1Gi
limits:
cpu: 3000m
memory: 2Gi
# Due to port restrictions, you can run only one instance of LiveKit per physical
# node. Because of that, we recommend giving it plenty of resources to work with
# limits:
# cpu: 6000m
# memory: 2048Mi
# requests:
# cpu: 4000m
# memory: 1024Mi
serviceAccount:
# Specifies whether a service account should be created
create: false
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podHostNetwork: true
podAnnotations:
sidecar.istio.io/inject: "false"
linkerd.io/inject: disabled
podSecurityContext:
{}
# fsGroup: 2000
securityContext:
{}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
tolerations: []
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: DoesNotExist
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- livekit-server
topologyKey: "kubernetes.io/hostname"
# https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#deploymentstrategy-v1-apps
deploymentStrategy: {}
deploymentAnnotations: {}
# Specifies configuration gke backendconfig
gcp:
backendConfig:
# 10h timeout for websocket
timeoutSec: 36000
connectionDraining:
drainingTimeoutSec: 60
serviceMonitor:
# Specifies whether a service monitor should be created
create: true
# Annotations to add to the service monitor
annotations: {}
# The name of the service monitor to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
# The scrape interval
interval: 30s
serviceRtc:
type: NodePort # or LoadBalancer if you prefer
nodePort: 31881
externalTrafficPolicy: Cluster
annotations: {}