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!