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 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_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: true minReplicas: 1 maxReplicas: 2 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: 1000m memory: 1Gi limits: cpu: 2000m 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