Enable Adapt to be used on Windows (beta)

This MR fixes a large number of issues to enable using Adapt on Windows as well as doing dev and testing under Windows. The goal was to enable users to run the examples in our docs and the GKE blog article. Additionally, a considerable amount of the tests now pass under Windows also. I stopped trying to make tests pass at the point where it looks like most of the failures are solely due to the tests.

Commits fall in a few areas:

  • Enabling development/test in Windows. I picked msys2 to provide basic UNIX tools and provided setup instructions on the developer setup doc. But likely other UNIX tool sets under Windows should work.
  • Enabling dev/test to run outside of a container. Many of our tests depend on container->container networking and other details, so that's why many tests still fail.
  • DOCKER_HOST issues - Default value based on platform and dealing with some minor behavior differences. There's still an unfixed issue with running our tests using the Docker named pipe on Windows, but that doesn't affect actual users (it's specific to our dockerutils lib).
  • Provide a simple implementation of UNIX-compatible diff for kubectl diff to use on Windows.
  • Path-related changes - lots of these, both in src and test
  • Minor bugs & usability fixes that aren't Windows specific

Test status:

  • docs: Tests pass using private version of markdown-clitest
  • GKE blog: Works manually
  • utils, testutils, dom-parser, core, systemtest: Passing
  • cli: Quite a few tests fail, mostly due to tests not dealing with output changes on Windows
  • cloud: 3 remaining failures related to container networking used in the tests

Merge request reports

Loading