-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NT support #129
Comments
Are there any plans for adding Windows support? If yes, any timeline.. |
@kavyako no one is working on this. If we can find resources would love to do it. Happy to chat offline if MSFT is interested. |
@mattklein123 yeah we'd be interested to see what's possible. Send me your contact info and I'll set up some time to chat. My email is [email protected]. Cheers! |
@vturecek sweet. Will send email. FYI all Lyft people working on Envoy are based in Seattle so we can meet in person if needed. |
Hey @vturecek, @mattklein123. Has anyone started work on Windows support? We're looking to use Envoy in Cloud Foundry to resolve the issue of Route Integrity, and my team in particular is concerned with how we'll do this on Windows. The Linux proposal involves Envoy, and we'd love to use the same solution on Windows, if possible. We'd be interesting in collaborating in whatever way makes sense. If email communication is preferred, I can be reached at [email protected]. |
@mhoran I will start a mail thread with MSFT folks to determine status. |
Thanks @mattklein123. Just in case there's more interest from others, yes Windows work is underway on our end. @mhoran - I'll follow up with more details over email. |
@vturecek Any status from a MS point of view. We are running a mixed cluster (linux pool - linux nodes and windows pool - windows nodes) and would like holistic support for this environment. |
@mhoran Just discovered this fork and thinks it might work but it appears there is still work necessary to get it working with the required build system... |
@sridmad : for more details about the windows port. |
@campbelldgunn sorry for the late response - Windows support work is underway in our fork here: https://github.com/microsoft/envoy/ @sridmad has a branch with what I believe is a functional build at this point but I'll defer to him for the status on that: https://github.com/microsoft/envoy/tree/sridhar/win32_port |
Great to see work being done towards adding windows support to envoy. I am curious to understand how traffic redirection is handled on windows platform... basically windows equivalent for linux iptables. |
@vinayatgit we've come up with a proof of concept that leverages Windows proxy settings to force application egress through an Envoy proxy. Our investigation was successful, though we encountered issues with the documented APIs for configuring proxy settings in Windows Server 1803. More details here: https://www.pivotaltracker.com/story/show/158328675. Of course, this only works for HTTP (and potentially HTTPS) traffic. There's still a question around how to handle TCP traffic, but that's something we can certainly add later. |
We have been able to successfully compile envoy on Windows using Bazel. A branch with code changes + build system changes can be found here: https://github.com/greenhouse-org/envoy/tree/windows-linux-build The necessary C++ changes were mostly pulled over from the work @sridmad has done in the Microsoft fork. We discussed with @mattklein123 last week what the strategy should be to start getting these changes back upstream. The first step we will make is to PR just the build changes (i.e |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
FYI I have reached out to MSFT also to see if we can get some help with this. cc @brendandburns |
Thanks @mattklein123. I spoke with the Microsoft team back at MS Build in May and at the time there were no Microsoft developers allocated to the effort. We had discussed next steps but that is stalled until we have someone to work with on that side. Meanwhile, we're still moving forward with the port. The goal was to get Microsoft folks to help with the heavy lifting in the sockets implementation. cc @vturecek @sridmad |
Do you have any even draft specs how envoy could be built for windows ? Trying at the moment with "choco install bazel" + Last time failed without base-devel, but sense there will be more problems after this. Is it also possible to generate Visual Studio projects / solutions for envoy ? Would be interested to check if it's possible to strip off HTTP (as a server) to GPRC transcoder code without rest of libraries. |
command like this:
fails with error:
|
@tapika our latest work is in this branch, but it's pretty hacky and we are nowhere near a working build. |
@tapika your error is consistent with using a windows cr/lf checkout, we are checking out envoy |
I just wanted to document my recent effort to produce a Windows build unsuccessfully. I tried two approaches:
During my trial and error phase, I identified two shortcomings within Bazel concerning Cygwin. I addressed both with pull requests.
The second issue can be addressed via a toolchain configuration alternatively in the envoy project itself. Here is the source code:
The referenced file Here is my build pipeline regarding Cygwin: https://github.com/core-process/envoy-build/blob/master/.github/workflows/main.yaml#L65-L109 You will find an environment setup for MSVC and MSys commented out in the same file. |
For everyone watching this issue, FYI that Microsoft has committed resources to seeing this port complete. They are going to reach out to the Pivotal folks to help out. cc @mhoran @achasveachas @wrowe. I'm also going to meet with Microsoft in a couple of weeks in-person about this as well. |
any new info/status from recent microsoft/pivotal meetings? |
There will be more news to share in coming weeks and months from different teams of engineers, nothing I can helpfully share. I can update you that my team at Pivotal has resolved PR 8280, proposed PR 8572, and we are preparing the necessary patches in the near-term for filesystem/socket objects on Windows so that the code will compile for anyone interested in participating in development. |
@aktxyz We did have two productive meetings with the folks from Microsoft and they committed to helping us push the Windows port through. We are still hammering out the details, we will probably have more solid information to share at EnvoyCon/KubeCon in 2 weeks. |
As part of Windows port are there plans to support the FIPS 140-2 mode? https://www.envoyproxy.io/docs/envoy/v1.10.0/intro/arch_overview/ssl#fips-140-2 |
Is this still the best place to check for status ? |
Yes! There was also an update given at KubeCon. There's also now an event on the CNCF calendar for our bi-weekly sync but it's not showing up publicly. I'll look into what's happening there. |
12/20/2019 Update: Recent PRs merged:
PRs in flight:
We have generally finished up the simple compilation issues in the current codebase. We will still have to fix any new breakages committed to the |
2/28/2020 Update: Recent PRs merged:
PRs in flight: We have upstreamed our cross-platform changes to the OS sys calls package, file watcher, and many changes to the networking package (excluding things that touch Unix sockets/pipes). Most of our remaining changes are Windows specific as well as changes to build scripts/rules to enable Windows to compile. We are planning on submitting a Draft PR with our current work in progress so the community can start to work on top of that to help out with Window support. This Draft PR branch will be periodically revised/rebased on top of master as changes are accepted and revisions are made. The next tracks of work we will tackle are enabling a static exe to be built in CI (though no tests yet, this involves build script/rule changes and Windows specific code changes) as well as improving error handling in our Windows implementation to better handle the differences and quirks between |
If you have forked from github.com/greenhouse-org/envoy as mentioned by Sam above; please note that we have archived the historical efforts to the greenhouse-org/envoy-archive static repo, and started a fresh fork from envoyproxy/envoy at that original repo name, with the vmware-windows-build and vmware-fix-upstream branches in place of pivotal-windows-build and pivotal-fix-upstream. This allows everyone to observe the source deltas to envoyproxy master, rather than the very stale microsoft/envoy fork. Last week, we also went to the effort to include every extension which compiles on Windows. We next need to modify the test targets to look at the correct extension list, but this resulted in some dozen excluded extensions which do not compile, and some 60 failing tests. A handful of bug fixes are expected to pare that list back of failing tests down to a dozen or so. With much of the code already on master, and several more PR's to follow in the coming weeks, we will be seeking out individuals interested in helping with the heavy lift of hacking and debugging the problematic extensions for this port. Developers can track activity and raise discussion on the envoyproxy.slack.com #envoy-windows-dev channel. When a generally available preview is ready for non-developer participation, we will then create a corresponding -users channel. |
We have an open PR here: #10293 that once merged will enable CI to build a static version of envoy on each PR |
4/24/2020 Update: Merged PRs:
Open Issues:
Current Work:
|
PR that tags failing tests so we can get more community visibility: #10940 |
As @wrowe already mentioned above, I'd like to reiterate that the best way to track the effort of Envoy support on Windows OS and participate is to join the #envoy-windows-dev Slack channel in https://envoyslack.cncf.io/ There are weekly meetings with the working group giving updates on the incremental progress and development activities. Meeting notes + details are captured here. |
Also feel free to follow on any specific issues with the |
Given that alpha was declared today, I'm going to call this issue closed. Let's track follow ups with area/windows as the team has indicated! Go team! |
For those following this activity moving forwards, watch https://github.com/envoyproxy/envoy/milestone/16 Windows Beta milestone. |
Hello all, We would like to declare 1.17+ a Beta release for Envoy on Windows. Since the Alpha release, we have made major advancements in Windows platform support. Features in 1.17:
Features since 1.17:
We encourage you to start testing your scenarios with Envoy on Windows based on release 1.17 or the head of the main branch. We are always looking to improve so your feedback is highly appreciated. Feel free to reach out on the EnvoyProxy Slack channel #envoy-windows-dev or open a Github issue with suggestions or feedback. cc @envoyproxy/windows-dev @pravb |
Get Envoy working on NT. This will require OS shim layer most/all POSIX operations, all Linux specific operations, and especially a new hot restart implementation.
The text was updated successfully, but these errors were encountered: