Puppet on Windows
This documentation applies to Puppet versions ≥ 2.7.6 and Puppet Enterprise ≥ 2.5. Earlier versions may behave differently.
Puppet runs on Microsoft Windows® and can manage Windows systems alongside *nix systems. These pages explain how to install and run Puppet on Windows, and describe how it differs from Puppet on *nix.
Puppet Labs provides pre-built, standalone .msi packages for installing Puppet on Windows.
We publish official packages and run automated testing on the following versions:
- Windows Server 2012 and 2012 R2 (also supported by Puppet Enterprise)
- Windows Server 2008 R2 (also supported by Puppet Enterprise)
- Windows Server 2003 R2 (also supported by Puppet Enterprise)
We publish packages for the following versions, but do not run automated testing on them:
- Windows Server 2008 (also supported by Puppet Enterprise)
- Windows Server 2003 (also supported by Puppet Enterprise)
- Windows 7 and 8 (also supported by Puppet Enterprise)
- Windows Vista
For full details, see Installing Puppet on Windows.
Puppet Subcommands and Services
Windows nodes can run the following Puppet subcommands:
- Puppet agent, to fetch configurations from a puppet master and apply them
- The agent functions as a standard Windows service, and agent runs can also be triggered manually.
- Windows nodes can connect to any *nix puppet master server running Puppet 2.7.6 or higher.
- Puppet apply, to apply configurations from local manifest files
- Puppet resource, to directly manipulate system resources
- Puppet inspect, to send audit reports for compliance purposes
Because the installer doesn’t alter the system’s PATH variable, you must choose Start Command Prompt with Puppet from the Start menu to run Puppet commands manually.
Windows nodes can’t act as puppet masters or certificate authorities, and most of the ancillary Puppet subcommands aren’t supported on Windows.
Puppet’s Environment on Windows
- Puppet runs as a 32-bit process.
- Puppet has to run with elevated privileges; on systems with UAC, it will request explicit elevation even when running as a member of the local Administrators group.
- Puppet’s configuration and data are stored in
%ALLUSERSPROFILE%\Application Data\PuppetLabson Windows 2003, and in
%PROGRAMDATA%\PuppetLabson Windows 7 and 2008.
For full details, see Running Puppet on Windows.
Some *nix resource types aren’t supported on Windows, and there are some Windows-only resource types.
The following resource types can be managed on Windows:
For full details, see Writing Manifests for Windows.
The most common points of failure on Windows systems aren’t the same as those on *nix. For full details, see Troubleshooting Puppet on Windows.
To test pre-release features, or to hack and improve Puppet on Windows, you can run Puppet from source. This requires a fairly specific version of Ruby and several important gems. For full details, see Running Puppet from Source on Windows.