Skip to content

Towards v1: Fifth stable release candidate

Latest
Compare
Choose a tag to compare
@rg0now rg0now released this 20 Sep 13:36
· 4 commits to main since this release

We are proud to present STUNner v0.21.0, the fifth stable release candidate of the STUNner Kubernetes media gateway for WebRTC, brought to you by l7mp.io.

This release candidate marks the next step of the stabilization efforts that will allow us to release the stable v1 version. As such, there have been only minor changes throughout the code base, apart from the usual assortment of documentation fixes, module import updates, and infrastructure upgrades.

News

In the last release we implemented a minor change to the default load balancer settings, which ended up breaking STUNner for some of our users. This release adds a new annotation that allows to disable this setting for the affected users. Another stability fix (in fact, a one-line commit) makes sure the STUNner gateway operator will safely exit with an error when it fails to start up for some reason (e.g., due to a missing CRD or RBAC policy), instead of just hanging forever. Failing pods early is a safe way to prevent runaway startup crash loops, letting Kubernetes to retry the pod while enforcing a secure backoff algorithm.

Disabling session affinity

By default STUNner applies the sessionAffinity: ClientIP setting on the LB services it creates to expose Gateways. Normally this setting improves stability by ensuring that each TURN session is safely pinned to the same dataplane pod for its entire lifetime. Certain hosted Kubernetes platforms, however, seem to reject UDP LB services that have this setting on, breaking STUNner deployments on these systems.

In order to prevent STUNner from enforcing session affinity on the LB Service corresponding to a Gateway, you can now set the stunner.l7mp.io/disable-session-affinity: true annotation on the Gateway. Otherwise, session affinity is turned on.

Commits

fix: Add annotation to unset LB Service session-affinity, fix #155
fix: Exit when the operator fails to start up
doc: Document the disable-session-affinity:true annotation
chore: Add buildinfo to the stunnerctl binary
chore: Bump pion/turn to v4 and update some deps
chore(rtd): Update rtd dependencies

Enjoy STUNner and don't forget to support us!