Skip to main content

Puppet to OpenVox Transition

On August 5th beginning at 10:00 AM EST, we will be upgrading the CLS Puppet infrastructure to OpenVox, an open-source fork of Puppet. During the upgrade, machines should be able to be provisioned and apply configuration management changes as normal.

Following the upgrade, all clients pulling configuration management from the CLS OpenVox servers will be automatically upgraded to use the OpenVox agent as a replacement for the local Puppet agent.

To opt out of the client upgrade, deploy the following hiera to your client machines prior to the August 5th upgrade:

profile::config_management::puppet::puppet_vendor: ‘puppet’

Note that clients that opt out should plan to upgrade manually before the end of the year, as backwards compatibility with the Puppet agent is not guaranteed for future upgrades. The Puppet agent will be considered to be End-Of-Life at the end of the calendar year 2025, and all local support from the CLS will end at that time.

To opt in to the OpenVox client ahead of the infrastructure upgrade, apply the following hiera to your machines:

profile::config_management::puppet::puppet_vendor: ‘openvox’

Note that there is currently no automated downgrade path to revert to the Puppet agent.

Please contact group-campus-linux@ncsu.edu if you have any questions or concerns regarding this upgrade.

Why OpenVox?

Perforce Acquisition and Creation of OpenVox

In April 2022, Puppet was acquired by Perforce, a software company focused on development tools and automation. In November 2024, Perforce announced their plans for Puppet in 2025, which announced that new official binaries would be released to a “private, hardened, and controlled location”, which would be free for developers for up to 25 nodes, but would require a subscription for capacities higher than 25 nodes. They also stated that they would “slow down the frequency of commits of source code to public repositories.”

Effectively, the announcement was that Perforce would leave the original open-source repositories in place with their original Apache 2.0 license, and to move all new development to a private repository with access to source code and releases gated by a EULA and/or paid subscription.

As of July 15th, 2025, in line with the announcement, there have been no new releases to the existing open-source repositories at yum.puppetlabs.com or deb.puppetlabs.com, which has been the primary source to pull new versions of the Puppet server and corresponding agent. The last release to these repositories was 2024-10-22 for Puppet 8.10. Similarly, the last commit to the open-source repositories on github.com were Dec 10, 2024 and Nov 2, 2024 for the Puppet agent and server repositories respectively.

In response to this effective closed-sourcing of Puppet, the community responded by forking the existing open-source software and creating a new community-driven product called OpenVox. The initial project started in earnest in January 2025, and development has been on-going with the first public release on January 21st and the latest release on July 9th with 8 releases in total this year (including support for both v7 and v8 branches).

The OpenVox project is lead by the developers of the VoxPupili organization, which have been a part of the Puppet ecosystem for years and maintain almost 200 modules for the community. They have contributed countless patches to the open-source Puppet code, and are staunch believers in the concept and ideals of open source. Many of the developers are also involved with the Foreman project as well.

Our Decision to Move to OpenVox

With the development of open-source Puppet effectively killed, we were left with three options: license Puppet Core from Perforce, switch to OpenVox, or redesign our configuration management ecosystem on campus.

With as many machines as we would need to license, and the current economic uncertainty, adding another software subscription to continue using Puppet Core from Perforce was not a feasible option, and redesigning our ecosystem around another technology would take a larger amount of planning and staff time investment than anyone is prepared to spend at the moment. Therefore, we started investigating the transition to OpenVox, and have a workable solution to upgrade our server infrastructure and all clients seamlessly and automatically.

The OpenVox software is fully backwards compatible with open-source Puppet, which made the transition straightforward and tenants should have no issues with their own code working in the new environment.

With 8 releases in under six months, the development cycle of OpenVox has proven itself and the overall ecosystem is at a point where it can be relied upon, and with our migration path in place, we are pulling the trigger on migrating ahead of Fall Classes to ensure staff have time to address any issues that may crop up from the migration. At this time, from our early testing, we do not expect any major issues.