You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This modifies the infrastructure used to test WinRM connections to test
against a running container as opposed to connecting back to the virtual
machine itself. This changes how we provision the Github Actions
environment, now using docker-compose to bring up two Windows server
2019 containers - one with the Puppet Agent ruby taking precedence, and
one with Windows ruby taking precedence. The containers have the same
username and password as Linux container infrastructure, and connect
over winrm without SSL.
WinRM has 5 authentication methods by default, with the default non-SSL
authentication method being 'negotiate'. Negotiate determine whether to
use Kerberos or NTLM for authentication, preferring Kerberos. Previous
Bolt testing setups seem to have fallen back to using NTLM, or otherwise
been configured to allow user-password authentication (possibly through
Group Policies). However the default for the Windows Server 2019
container is to attempt Kerberos, which fails. As such the WinRM
connection must specify the `basic` auth method in order to use
user-pasword authentication between the the GH Action environment and
the containers. This is possible using the WinRM ruby gem, but not
something we want to expose to users. As such we specify the appropriate
settings when connecting to WinRM, wrapped in an environment variable
set when testing Bolt in CI.
0 commit comments