Puppet Containers are back alive
Tags: containers, puppet, configurationmanagement, kubernetes
Published: 2023-10-31 09:40:15

In early 2023 [Puppet Inc.](https://www.puppet.com) decided to stop working on their containers for Puppetserver and PuppetDB and offered the repositories for adoption.

At [betadots GmbH](https://betadots.de) we believe that there is an usecase for Puppet servers based on containers.
We also have several customers who already use Puppet in containers or are planning to migrate to a container based technology.

Therefor we decided to continue, upgrade and improve the work on the containers.

Content:

[Hosting and License](#hosting-and-license)</br>
[Latest Updates](#latest-updates)</br>
[Future Improvements](#future-improvements)</br>
[Commercial Support](#commercial-support)</br>

---

## Hosting and License

To prevent license changes done by a company, we asked the [Voxpupuli community](https://voxpupuli.org) to be the host for the Open Source based repositories.

This gives users and customers the benefit of being sure that the Open Source License will be kept. And also the potential number of contributors is much higher.

On mid October [Tim (bastelfreak) Meusel](https://github.com/bastelfreak) asked Puppet's famous and well known [Ben (binford2k) Ford](https://github.com/binford2k) to migrate the container repositories to Voxpupuli. They where then transferred and are now owned and maintained by Voxpupuli.

We now have two new repositories for container based Puppet infrastructure:

- [container-puppetserver](https://github.com/voxpupuli/container-puppetserver)
- [container-puppetdb](https://github.com/voxpupuli/container-puppetdb)

2 hours after migration we were able to spin up an actual version of a Puppetserver and a PuppetDB on an updated base image.
Both containers are now published under Apache-2.0 license.
[betadots GmbH](https://betadots.de) supports Voxpupuli with updating and maintaining the containers.

## Latest Updates

For the moment we use the official Ubuntu 22.04 x86_64 base image in combination with the official Puppet Ubuntu packages released by Puppet Inc.

We are looking forward to also maintain ARM based containers, but for this we have to wait for the official Packages being finished by Puppet Inc. Puppetserver and PuppetDB are already supported on ARM, to be more precise they don't depend on an arch. But we have still to wait for the Puppet Agent to be Released on the ARM platform. The nightly builds are already there, but we wait for the final, official release. The Agent is needed in some build steps for the container, so we wait. But the build pipeline is prepared and when the packages are available it is easy to add the new arch to it.

On October 18th [Robert (rwaffen) Waffen](https://github.com/rwaffen) announced on [Puppet Community Slack in the voxpupuli channel](https://puppetcommunity.slack.com/archives/C0W1Y5VL0/p1697641383534739), that he was able to deploy a fully functional container-based Puppet setup using a (Docker) compose file.

The compose configuration is **NOT** hosted within the container repositories, but in the [CRAFTY - Containerized Resources And Funky Tools (in) YAML](https://github.com/voxpupuli/crafty.git) repository. This will serve as the central hub for bundling all components related to the containerized Puppet infrastructure. You can think of it as a spiritual successor to Pupperware.

The containers are built to be compatible with Docker as well as other container systems such as Podman, for example. At present, they are exclusively built and tested in a Docker environment. If you encounter any issues with alternative systems, please don't hesitate to contact us. Additionally, we warmly welcome pull requests.

## Future improvements

At the moment we work on a CI pipeline to automatically deploy newly built containers to docker hub and GitHub container registry. The Github part is already finished. But we might tweak some things here and there. So this is not yet production ready.

Besides this, we need support for writing a proper helm chart within the [CRAFTY Repository](https://github.com/voxpupuli/crafty.git). Anyone who can help with this would be very welcome! We aim for the containers to be used in standalone container environments and also in cluster management systems like Kubernetes (k8s).

We continue to enhance our documentation and are delighted to review and incorporate contributions.

## Commercial Support

At [betadots GmbH](https://betadots.de), we provide commercial support for container-based Puppet infrastructures.

Please get [in touch with us](mailto:info@betadots.de?subject=Puppet%20Support%20request) if you need further information.

Happy hacking on Puppet and containers to everyone.

[Martin (tuxmea) Alfke](https://github.com/tuxmea)</br>
[Robert (rwaffen) Waffen](https://github.com/rwaffen)</br>
[Tim (bastelfreak) Meusel](https://github.com/bastelfreak)