• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

l7mp / stunner / 36886606185
76%

Build:
DEFAULT BRANCH: main
Ran 01 Oct 2026 03:47PM UTC
Jobs 1
Files 4
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Oct 2026 03:30PM UTC coverage: 75.529% (-2.7%) from 78.202%
36886606185

push

github

rg0now
feat(dataplane): Rebuild on listeners, servers, clusters

Massive refactor towards a more future-proof v2 structure:

- new runtime contract:a listeners emit net.Conns, a separate server (l4
  or turn) processes and routes these and sends to a cluster, a named
  set of peer endpoints.
- pion/turn/v5 replaced with the l7mp/turn fork, which serves accepted
  conns as message conns, closes a client conn when its allocation is
  deleted, and runs no TLS handshake
- new config file version v2: listeners are pure transport, servers are
  new, clusters gain new fields
- components wired by name (listener -> servers, server -> ordered
  clusters).
- listeners' servers are a chain, so stages that tag, wrap or filter a
  conn before the terminal server can come without a format change,
  address is only a bind address
- cluster: endpoints, a routing_policy (FILTER for filtering on
  endpoints, ROUND_ROBIN for load-balancing), plus the transport:
  protocol, tunnel (for reaching the peers directly or through the TURN
  server), relay addresses advertised.
- cluster Endpoints use a SplitHostPort-compatible syntax,
  host[/prefix][:port[-end]], with no transport
- Peer ports are no longer enforced
- server: sessions in one generic conntrack table, keyed by the client
  and peer 5-tuple pair
- l4 server: a generic forwarder pumps flows
- turn server: tracks its conns for the offload bookkeeping
- object and the workers they run share one lifecycle: Start builds the
  worker, Close drops it, Reconcile applies only what changes in place,
  anything else is a restart.
- internally, Conns are tagged with the name and protocol of the
  listener or cluster that made them
- the config client still accepts v1 with auto-conversion to v2
- stunnerd gets new CLI flags: --license takes the license config as the
  single-line JSON "licensegen -o json" writes, --offload sets the
  offload engine on every interface; both override the config, and
  --no-graceful-shutdown closes th... (continued)

44 of 50 new or added lines in 3 files covered. (88.0%)

1 existing line in 1 file now uncovered.

250 of 331 relevant lines covered (75.53%)

133.0 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
71.79
3.04% config.go
3
72.5
-1.52% stunner.go

Coverage Regressions

Lines Coverage ∆ File
1
71.79
3.04% config.go
Jobs
ID Job ID Ran Files Coverage
1 36886606185.1 01 Oct 2026 03:47PM UTC 4
75.53
GitHub Action Run
Source Files on build 36886606185
  • Tree
  • List 4
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36886606185
  • f1a508b9 on github
  • Prev Build on main (#35898711046)
  • Next Build on main (#36886605364)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc