Porting Envoy to Windows; A Progress Report
Talkat KubeCon + CloudNativeCon North America 2019 · on Tuesday, 2019-11-19· at 14:25· Room 32AB - San Diego Convention Center, Upper Level·
summary
Envoy builds on Windows now compile with a patched Bazel and upstream Bazel’s params-file fix, external deps are bundled into a static EXE, and Windows header clashes are centralized behind a platform header; remaining work is file-change notifications, Windows process-control semantics and the sockets/event loop abstraction (Win32 handles vs POSIX fds) which require reworking IO and possibly swapping the event engine. Three more code patches are pending and a working Windows binary is expected in early next year.
AI-written summary · about
chapters (7)
- 0:00Start
- 5:51Bazel fixed the issue around passing in long command lines.
- 8:56bazel_foreign_cc has been greatly simplified for our CMake dependencies
- 13:05The Windows MSVC compiler began and never completed a full Posix implementation. Many commonly used Posix data types and functions aren't available, or differ in name or implementation details
- 16:53Many tests are based on invoking bash and specific GNU toolchain utilities, which differ from the Windows toolchain, need to be adjusted
- 17:57Envoy is sensitive to file changes (such as configuration files), a different implementation of file change notification needs to be completed
- 19:00Process control primitives are very different on Windows Vs. nix Oss. Signal processing code for Windows conventions is still needed, and new code is needed to run Envoy as a background process service.
related talks
27mEnvoy on Windows: Use-cases, roadmap, and more
27mEnvoy - Overview and Update: Senior Envoy Maintainer
12mEnvoy Maintainer Q&A
31mEnvoy Mobile in Depth: From Server to Multi-platform Library
34mIntro: Envoy
15mBeyond OS Sockets: Custom Socket Interfaces in Envoy
13mThe Next Generation of Envoy Extensibility: Dynami...
37mExtending Envoy with WebAssembly
