194 lines
4.5 KiB
YAML
194 lines
4.5 KiB
YAML
image:
|
|
repository: livekit/livekit-server
|
|
pullPolicy: IfNotPresent
|
|
|
|
imagePullSecrets: []
|
|
|
|
terminationGracePeriodSeconds: 18000
|
|
|
|
livekit:
|
|
# prometheus_port: 9092
|
|
port: 7880
|
|
log_level: debug
|
|
rtc:
|
|
tcp_port: 7882
|
|
port_range_start: 50000
|
|
port_range_end: 60000
|
|
use_external_ip: true
|
|
enable_loopback_candidate: false
|
|
redis:
|
|
address: redis-master: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: {}
|
|
# servers:
|
|
# - urls:
|
|
# - "turn:avt-s001.co-work.ru:3478"
|
|
# - "turns:avt-s001.co-work.ru:5349"
|
|
# enabled: false
|
|
# domain: avt-s001.co-work.ru
|
|
# tls_port: 5349
|
|
# udp_port: 3478
|
|
# external_tls: true
|
|
# serviceType: NodePort
|
|
# NodePort: 38888
|
|
webhook:
|
|
api_key: 'APIXj3LbDJJPLHv'
|
|
urls:
|
|
- 'http://livekit-webhook-handler-app: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: "livekit-server"
|
|
|
|
loadBalancer:
|
|
type: nginx
|
|
servicePort: 80
|
|
annotations:
|
|
kubernetes.io/ingress.class: "nginx"
|
|
tls:
|
|
- secretName: co-work-secret
|
|
hosts:
|
|
- av-p002.cw.ngcloud.ru
|
|
|
|
turnLoadbalancer:
|
|
enable: false
|
|
|
|
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:
|
|
tenant: client2
|
|
# 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: 31882
|
|
externalTrafficPolicy: Cluster
|
|
annotations: {}
|
|
|
|
serviceExporter:
|
|
type: ClusterIP # or LoadBalancer if you prefer
|