=== OpenVox (Puppet)

Links: +
link:https://voxpupuli.org/[Vox Pupuli] URL: link:https://voxpupuli.org/[] +
link:https://github.com/OpenVoxProject/[OpenVox GitHub organization] URL: link:https://github.com/OpenVoxProject/[] +
link:https://github.com/voxpupuli/[Vox Pupuli GitHub organization] URL: link:https://github.com/voxpupuli/[]

Contact: Puppet Team <puppet@FreeBSD.org>

OpenVox (Puppet) is a Free Software configuration management tool, composed of a source of trust (OpenVox Server) that describes the expected configuration of machines with a domain-specific language, and an agent (OpenVox Agent) on each node which enforces that the actual configuration matches the expected one.
An optional database (OpenVoxDB) can be setup for reporting and describing advanced schemas where the configuration of a machine depends on the configuration of another one.

A lot of things happened in the Puppet world this year.
After Perforce link:https://www.puppet.com/blog/open-source-puppet-updates-2025[announced major changes regarding how they contribute to Open-Source], they discontinued the Open Source version of Puppet (also known as OSS Puppet), advising users to switch to Puppet Enterprise (closed source flavor of Puppet that has existed for years) or Puppet Core (a new closed source flavor of Puppet, not developed in the open, and link:https://voxpupuli.org/blog/2025/05/19/perforce-eula/[accessible only after signing an End-User License Agreement (EULA)]).
The Vox Pupuli community tried to reason with Perforce, but without success.
Vox Pupuli therefore took maintainership of the Apache-2.0 licensed Puppet code, and continue to maintain it, update it, provide packages, instead of Perforce.
The name "Puppet" being owned by Perforce, the project has been renamed to "OpenVox" in order for users to not confuse the old unmaintained Open-Source Puppet with the new version maintained by OpenVoxProject, which is part of Vox Pupuli.

To follow these changes, a bunch of ports have been added to the FreeBSD ports tree:

* package:sysutils/openvox-agent8[] replaces package:sysutils/puppet8[];
* package:sysutils/openvox-server8[] replaces package:sysutils/puppet-server8[];
* package:databases/openvoxdb8[] replaces package:databases/puppetdb8[];
* package:databases/openvoxdb-terminus8[] replaces package:databases/puppetdb-terminus8[];
* package:sysutils/rubygem-openbolt[] replaces package:sysutils/rubygem-bolt[];
* package:sysutils/rubygem-openfact[] replaces package:sysutils/rubygem-facter[].

They are drop-in replacement of the former ports: while the packages are named "openvox", the service keep their legacy name for now.
Switching to them is as easy as installing them, and answering yes when pkg propose to remove the legacy packages and install the new ones.
No other action is required: the module you used with Puppet are expected to continue working with OpenVox.

During this year, Puppet 7 has also reached End-of-Life, so the corresponding ports have been deleted from the FreeBSD ports tree.
Puppet 7 was the last version that allowed to choose between the C and the Ruby version of facter, the port for the C version (package:sysutils/facter[]) has therefore also been removed.
Because the legacy ports of Puppet 8 will not be updated anymore, they will be deprecated soon, and follow the same fate.
