I thought that Puppet was written in Ruby, so I'm not sure why the puppetmaster service can't run under Windows. Does anyone have an idea why? Note that I'm trying to figure out if there is a technical reason.
I thought that Puppet was written in Ruby, so I'm not sure why the puppetmaster service can't run under Windows. Does anyone have an idea why? Note that I'm trying to figure out if there is a technical reason.
According to the Installing Puppet: Microsoft Windows guide:
If you dig further into the requirements, they really want Linux, not just any *nix.
You could always run a Linux VM on your Windows system in order to run a puppetmaster.
If you look at a reasonable puppetmaster setup, you'll quickly find that it's not just ruby. It really works best integrated into a web server with ruby support, such as apache httpd with mod_passenger. It really works best integrated with a puppetdb, which requires a JDK and postgres DB.
On top of all that, they probably make a lot of unix assumptions all over the place in the code, and porting the master to Windows has to be much lower on the priority list than making the agent work with Windows. Especially since the main use case for Puppet on Windows is sites using Puppet for *nix systems that want to also manage a few Windows systems. It's very rare for an all-windows site to want to use puppet.
I'm not saying a port to Windows would be impossible, just that it's more challenging than you imply and probably low priority.