Kubernetes

(TODO: add helm chart in)

  • SFU can be deployed with StatefulSet.
  • Override the SSL certs in Pod.
  • A LoadBalancer in front of public web server.
  • Setup liveness/readiness probe, point to SFU private web server.
  • Setup preStop hook, point to SFU private web server.
  • NATS instance can be another service or SFU Pod sidecar.
  • Redis instance can be another service.
  • HPA based on CPU usage, dynamically grows the Pod count.
  • Can use other complex mechanism to control minimum Pod count if you need to schedule big events. For example, a cronjob to read business data and calculate a desired minimum Pod count.
  • Use/Setup TURN server if needed.
  • Authentication can be enabled via --auth. It's using Bearer Token mechanism. Token can be set via private web server. Data will be saved in Redis (1 day TTL).
  • Management can be done via another service that talks to SFU via private web server.
  • CORS can be set via --cors-domain <DOMAIN>
  • Most of configs can be set via both CLI arguments and environment variables.