Hi! This is a blog post sharing some low-level Linux networking we're doing at Modal with WireGuard.<p>As a serverless platform we hit a bit of a tricky tradeoff: we run multi-tenant user workloads on machines around the world, and each serverless function is an autoscaling container pool. How do you let users give their functions static IPs, but also decouple them from compute resource flexibility?<p>We needed a high-availability VPN proxy for containers and didn't find one, so we built our own on top of WireGuard and open-sourced it at <a href="https://github.com/modal-labs/vprox">https://github.com/modal-labs/vprox</a><p>Let us know if you have thoughts! I'm relatively new to low-level container networking, and we (me + my coworkers Luis and Jeffrey + others) have enjoyed working on this.