DEV Community

Martin Alfke for betadots

Posted on

Puppet container version schema update

Community: we hear you!

Several people have asked to please change the version schema on puppetserver-container and puppetdb-container.

Puppet Inc version schema

Prior the repositories have been handed over from Puppet Inc to Puppet Community, the container images were using the Puppet server and PuppetDB versions, which were used inside the container.

<puppet.major>.<puppet.minor>.<puppet.patch>
Enter fullscreen mode Exit fullscreen mode

Example usage:

docker run --name puppet --hostname puppet puppetlabs-puppetserver:7.2.0
Enter fullscreen mode Exit fullscreen mode
Name Description
puppet.major Describes the contained major Puppet version (7 or 8)
puppet.minor Describes the contained minor Puppet version
puppet.patch Describes the contained patchlevel Puppet version

Initial voxpupuli version schema

The original version schema did not show if changes to the container image have been done.
At Voxpupuli it was decided to use a new version schema:

v<major>.<minor>.<patch>-<puppet release>
Enter fullscreen mode Exit fullscreen mode

Example usage:

docker run --name puppet --hostname puppet ghcr.io/voxpupuli/container-puppetserver:v1.0.0-7
Enter fullscreen mode Exit fullscreen mode
Name Description
major Describes the major version of the base container (Ubunutu 22.04) or incompatible changes
minor Describes new features or refactoring with backward compatibility
patch Describes if minor changes or bugfixes have been implemented
puppet release Describes the contained major Puppet release (7 or 8)

At Voxpupuli Crafty we had a discussion on how to improve the version schema.
Additionally we received feedback from customers, that they were unhappy with the new version schema as it was unclear, which exact Puppet version is inside the containers.

New version schema

The new version schema has the following layout:

<puppet.major>.<puppet.minor>.<puppet.patch>-v<container.major>.<container.minor>.<container.patch>
Enter fullscreen mode Exit fullscreen mode

Example usage:

docker run --name puppet --hostname puppet ghcr.io/voxpupuli/container-puppetserver:7.13.0-v1.2.0
Enter fullscreen mode Exit fullscreen mode
Name Description
puppet.major Describes the contained major Puppet version (7 or 8)
puppet.minor Describes the contained minor Puppet version
puppet.patch Describes the contained patchlevel Puppet version
container.major Describes the major version of the base container (Ubunutu 22.04) or incompatible changes
container.minor Describes new features or refactoring with backward compatibility
container.patch Describes if minor changes or bugfixes have been implemented

Many thanks to the community for the great feedback and ideas for improvement.

Happy hacking on Puppet in containers.

Martin Alfke

Top comments (0)