Puppet master on Windows

130 views
Skip to first unread message

Alejandro del Castillo

unread,
Dec 29, 2014, 4:52:41 PM12/29/14
to puppet...@googlegroups.com
Hello,

We are looking at the different options out there to build a System Management solution for embedded systems. I am encouraged by the fact that puppet support opkg and it's already in use by OpenWRT (we build our own distribution, but it's opkg-based). Digging/experimenting around with puppet, it looks like it can do most of what we want. We would need to write several modules, custom UI, etc, but it looks doable. The only problem is that we absolutely must have Windows support for the host. That is a deal breaker requirement, as many of our customers (unfortunately) will expect Windows on the server side. As I am looking at options, I would like to understand what would be the effort for the Windows port of the server side components (at least puppet master, hiera, possibly puppetDB). I do get that this is not a priority for the community and do understand that if we take this approach, we would be maintaining the Windows server side, which is something that is on the table for us. 

I do apologize if this has been asked before (I saw a few references, but with nothing concrete on the answers), but this is a data point that can tilt the balance towards puppet adoption or not.

Thanks!

Alejandro del Castillo

Chris Price

unread,
Jan 5, 2015, 12:56:00 PM1/5/15
to puppet...@googlegroups.com
On Monday, December 29, 2014 1:52:41 PM UTC-8, Alejandro del Castillo wrote:
Hello,

We are looking at the different options out there to build a System Management solution for embedded systems. I am encouraged by the fact that puppet support opkg and it's already in use by OpenWRT (we build our own distribution, but it's opkg-based). Digging/experimenting around with puppet, it looks like it can do most of what we want. We would need to write several modules, custom UI, etc, but it looks doable. The only problem is that we absolutely must have Windows support for the host. That is a deal breaker requirement, as many of our customers (unfortunately) will expect Windows on the server side. As I am looking at options, I would like to understand what would be the effort for the Windows port of the server side components (at least puppet master, hiera, possibly puppetDB). I do get that this is not a priority for the community and do understand that if we take this approach, we would be maintaining the Windows server side, which is something that is on the table for us. 


 Alejandro,

Puppet Server and PuppetDB both run on the JVM, so, theoretically they might "Just Work" on Windows.  We don't provide packaging, so you'd probably need to just try running them from source.

Both projects have docs on how to run from source:

https://docs.puppetlabs.com/puppetserver/1.0/dev_running_from_source.html
https://docs.puppetlabs.com/puppetdb/latest/install_from_source.html

Hiera, to some degree, is a kind of plugin that runs inside the server, so it should work fine with Puppet Server.

I'm not aware of any efforts to run these apps on Windows, so, your mileage may vary... and I'm not aware of it being on our product roadmap to provide official support for Windows on the server-side.  That said, I'm not aware of any reason why it *shouldn't* work, so would be interested to hear about your results if you decide to try it.

Alejandro del Castillo

unread,
Jan 8, 2015, 12:01:44 PM1/8/15
to puppet...@googlegroups.com
Hi Chris,

Before I saw your answer, I went ahead and installed puppet agent on Windows, thinking that it should get me most of the pieces needed for puppet master installed. I was pleasantly surprised to discover that puppet has a single entry point for master, agent, cert, etc, which means that the Windows installer already installed everything I needed to run puppet master.  To get the master running, I had to disable the Windows check that errors out if you try to run the master on Windows. I also had to bypass (make it a warning instead of an error), the check that tries to change the group of the puppet service. I then modified puppet.conf with windows values for ssldir and voila, that was it, puppet master launched correctly on windows. 

I was then able to connect a Linux agent, sign its certificate, and apply a simple manifest to it (write a file with the IP). I got a few errors about the agent not being able to retrieve pluginfacts and plugins, but the operation succeeded. 

This was a very simple proof of concept, but it did give me confidence that the main parts of puppet master work on Windows (signing certificates, compiling manifests, etc). There is still a ton of work to get everything working reliably, but is good to know that the main pieces are in place. I will definitely follow up with you if we decide to go this route.

Thanks for the help,

Alejandro del Castillo
Reply all
Reply to author
Forward
0 new messages