Add 'docker system dial-stdio' support to docker-autoscaler executor
What does this MR do?
Adds tunnel support for docker system dial-stdio
, which should work better for WinRM and Windows, but also opens up the possibility of docker-autoscaler via SSH on Windows.
Why was this MR needed?
The docker-autoscaler for WinRM was hard to use, because it required a fleeting-proxy
to be installed, which had occasionally problems.
WinRM also isn't incredibly stable in general, and tunnelling to the npipe
with SSH on Windows wasn't possible, but now is with dial-stdio
.
What's the best way to test this MR?
All existing testing is now using the dial-stdio
method, and I've added 1 basic test that doesn't, which can eventually be removed along with the feature flag to disable the behaviour.