PuppetServer 6 - a meta "We work with containers too!" release


Puppet has decided to release their latest server as a Docker image, something they are calling Pupperware. sigh.

That’s right, not Pupp-ET-ware. Pupp-ER-ware.

The problem with Pupperware is that it’s really just a Docker-Compose yaml file. Using Docker-Compose is probably an at least perceived simple method for an entry-level SysAdmin to get PuppetServer up and running. However, from a certain point of view, if you can’t get PuppetServer running without Docker, then I’m not confident you can get it running with Docker - not while understanding what it’s doing.

Thanks to Docker, starting Docker Server is a simple couple of commands:

docker pull puppet/puppetserver:6.0.1

docker run -d \
  -p 8140:8140 \
  -e DNS_ALT_NAMES="puppet puppet.gestalts.net" \
  --name="ps6" \

Vault integration

The major feature of the Puppet6 release that has my attention is the integration with Vault.

Unfortunately the Docker image does not include an option for automatically configuring the Vault integration.

Interestingly, there appears to be no documentation available for connecting PuppetServer 6 to Vault.

I did finally find a reference to the Hashicorp Vault integration, only to find that it has as status of coming soon.

We can work with your container platform!

The emphasis of this release seems to be to demonstrate that Puppet can be run on container platforms, rather than to produce a feature rich Docker image.

The PuppetServer Dockerfile is based on Ubuntu Server 16.04 LTS, so at least the container will have many features available to it.

Not time to upgrade yet…

So for now, it appears that PuppetServer 6 is a work-in-progress and a release designed by the PR department. Any integration with Vault will continue to be done using standard Hiera backend methods. As a long time user of Puppet I hope that this latest release doesn’t cause Puppet to join the fate of other releases designed by PR departments, such as the ill-fated Apple 3.

categories: puppet | docker |