Skip to main content

Windows Support for Ansible stacks

The Spacelift maintained Ansible container that is used by default in Ansible stacks does not have the necessary python packages to support connecting to Windows servers, like pykerberos and pywinrm (there could be more, but these two are as far as I've dug on the subject at the moment). It would be a huge win to have support out-of-the-box for this

Workaround
Problem
Status: ⬆️ Gathering votes1 comment

Log in to comment and vote

Comments1

  • Jonah Kowall

    Team•

    Oct 6

    Thanks for the detailed request, good point that connecting to Windows hosts is a well-supported, mainstream Ansible use case, not a fringe one.

    First, the immediate unblock: you can do this today without waiting on us. The Spacelift Ansible stack supports fully custom runner images, so you can build an image based on our Ansible runner with pykerberos, pywinrm (and any other Windows-connection dependencies) pre-installed, then set it as your stack's custom runner image. You can also set an account-level default runner image so every Ansible stack picks it up automatically, that keeps it maintenance-light across your fleet as you migrate off AWX. If you'd rather not maintain an image, a before_init hook that pip-installs the packages at run time also works, though a prebuilt image is faster and more reproducible.

    Separately, we're interested in whether an officially maintained Ansible-for-Windows runner image flavor would be worth providing out of the box. No promises, but to help us gauge that, it'd be great to understand:
    - Which packages and connection plugins you rely on (pywinrm, pykerberos, and anything else? (e.g. are you going the WinRM or SSH-on-Windows route?)
    - Roughly what share of your Ansible fleet targets Windows vs. Linux
    - Whether maintaining your own image would be a genuine blocker to migrating, or just an inconvenience

    Would the custom or default runner image approach unblock you in the meantime?