Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add LiveKit as example #48

Merged
merged 9 commits into from
Nov 4, 2022
Merged

Add LiveKit as example #48

merged 9 commits into from
Nov 4, 2022

Conversation

davidkornel
Copy link
Member

@davidkornel davidkornel commented Nov 3, 2022

Finally adding the so-awaited LiveKit demo.

Issuing: #22

Features:

  • Create an integration demo between LiveKit and STUNner
  • LiveKit is not running in the host network (hostNetwork: true) anymore
  • LiveKit uses STUNner as a STUN server instead of a public one
  • Create a simple scaling demo with HPA using the load simulation

@coveralls
Copy link

coveralls commented Nov 3, 2022

Pull Request Test Coverage Report for Build 3396669949

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 67.535%

Totals Coverage Status
Change from base Build 3380236282: 0.0%
Covered Lines: 726
Relevant Lines: 1075

💛 - Coveralls

- deploy the LiveKit server into Kubernetes
- configure STUNner to expose LiveKit to clients

## Intallation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo


## Setup

The figure below shows how LiveKit is deployed into Kubernetes without the contstraints of running in host network (`hostNetwork: true`). In this setup LiveKit uses STUNner as a 'local' `STUN` and `TURN` server which enhances the security and saves the overhead cost of using public a `STUN` server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

saves the overhead cost of using public a STUN server. Is it a notable overhead?


## Installation guide

Let's start with a disclaimer. The LiveKit client example(browser) must have secure HTTP connection in order to work because, [getUserMedia](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#browser_compatibility) is available only in secure contexts. This induces that the client-server(LiveKit-server) connection must be secure too. According to the [docs](https://docs.livekit.io/deploy/#domain,-ssl-certificates,-and-load-balancer) and our experiences, self-signed certs do not work.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HTTP -> HTTPS
Self-signed certs works for the getUserMedia, etc... but will not work with secure websocket. So, we should mention that.

@rg0now rg0now merged commit dfeb06a into main Nov 4, 2022
@rg0now
Copy link
Member

rg0now commented Nov 4, 2022

This is fantastic, thanks! Couple of minor comments in closing:

  • the use of sed in this context is terrible, can't we use kubectl patch?
  • it'd be nice to jump from the obsolete Ingress API to the fnacy new Gateway API: after all, this is what we are using in STUNner!

@levaitamas levaitamas deleted the livekit-demo branch November 10, 2022 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants