Is your feature request related to a problem? Please describe.
Autopilot is currently entirely Linux-only. This means automated k0s updates via Plans are unavailable for Windows workers.
Describe the solution you would like
Windows workers can be managed via Autopilot, just as Linux nodes can.
Describe alternatives you've considered
¯\_(ツ)_/¯
Additional context
Need to figure out how to deal with two important differences:
- How to replace a currently running executable? Windows won't allow changing the paths to files to which open file handles exist. That's a similar issue we have when upgrading containerd on Windows. So maybe we can come up with a procedure how to do this for containerd, which we can then reuse for Autopilot.
- Restarting might be different. The supervisor already has some means of sending graceful termination signals to executables. Maybe we can reuse that? The Service Control Manager should restart k0s just as Linux init systems do. Another approach would be to assume that k0s is already running as a service and interact directly with the Service Control Manager. This assumption wouldn't be too far-fetched, since k0s needs to run as a local service anyway due to containerd needing special privileges to manage containers unless admins try hard to get the necessary permissions without using the Service Control Manager, but that would be tricky.
Is your feature request related to a problem? Please describe.
Autopilot is currently entirely Linux-only. This means automated k0s updates via
Plansare unavailable for Windows workers.Describe the solution you would like
Windows workers can be managed via Autopilot, just as Linux nodes can.
Describe alternatives you've considered
¯\_(ツ)_/¯
Additional context
Need to figure out how to deal with two important differences: