v0.7.16 — isolate per-sandbox egress attribution
Flips isolate egress from fail-closed deny-all (v0.7.15) to enforced per-sandbox allowlists via a per-slot workerd service pool (PR #340).
Still off by default (SB_ENABLE_ISOLATE=false) — activates nothing until an operator opts in.
Highlights:
- Group config pre-declares
Kper-slot egress services (EGRESS_0..); each egressing sandbox gets a slot and bindsglobalOutboundto that static service only — attribution is structural and unforgeable. - Pool size via
SB_ISOLATE_EGRESS_POOL_SIZE(default 64). Exhaustion / bind failure falls back to fail-closedEGRESS_DENY(logged, never silent). - SSRF IP-block retained (loopback / link-local / RFC1918 / metadata). Outbound is always HTTPS at the host proxy.
Known limitations (safe by default): concurrent egress-enabled isolates per tenant capped by pool size; no per-sandbox byte metering yet; plaintext-HTTP-only destinations unreachable. Jail/hardening follow-ups from v0.7.15 still apply.
What's Changed
- feat(isolate): per-sandbox egress attribution via per-slot service pool by @sumansaurabh-slice in #340
- chore(deps): bump github.com/containerd/containerd from 1.7.29 to 1.7.34 in #321
- chore(deps): bump github.com/containerd/typeurl/v2 from 2.1.1 to 2.3.0 in #322
- chore(deps): bump oras.land/oras-go/v2 from 2.6.1 to 2.6.2 in #323
- chore(deps): bump github.com/vishvananda/netlink from 1.3.0 to 1.3.1 in #315
- chore(deps): update tokio-tungstenite requirement from 0.29 to 0.30 in /sdk/rust in #318
- chore(deps-dev): bump org.junit.jupiter:junit-jupiter from 6.1.1 to 6.1.2 in /sdk/java in #320
- chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /sdk/typescript in #316
- chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in /docs in #319
- chore(deps): bump typescript from 5.9.3 to 7.0.2 in /docs in #314
Full Changelog: v0.7.15...v0.7.16
What's Changed
- feat(isolate): per-sandbox egress attribution via per-slot service pool by @sumansaurabh in #340
- chore(deps): bump oras.land/oras-go/v2 from 2.6.1 to 2.6.2 by @dependabot[bot] in #323
- chore(deps): bump github.com/containerd/typeurl/v2 from 2.1.1 to 2.3.0 by @dependabot[bot] in #322
- chore(deps): bump github.com/containerd/containerd from 1.7.29 to 1.7.34 by @dependabot[bot] in #321
- chore(deps): update tokio-tungstenite requirement from 0.29 to 0.30 in /sdk/rust by @dependabot[bot] in #318
- chore(deps-dev): bump prettier from 3.9.4 to 3.9.5 in /docs by @dependabot[bot] in #319
- chore(deps-dev): bump org.junit.jupiter:junit-jupiter from 6.1.1 to 6.1.2 in /sdk/java by @dependabot[bot] in #320
- chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /sdk/typescript by @dependabot[bot] in #316
- chore(deps): bump github.com/vishvananda/netlink from 1.3.0 to 1.3.1 by @dependabot[bot] in #315
- chore(deps): bump typescript from 5.9.3 to 7.0.2 in /docs by @dependabot[bot] in #314
Full Changelog: v0.7.15...v0.7.16