The sysutils/puppetserver/7 port

puppetserver-7.9.5p0 – Puppet server (cvsweb github mirror)


Puppet is configured in an agent-server architecture, in which a primary
server node manages the configuration information for a fleet of agent
nodes. Puppet Server acts as the primary server node. Puppet Server is a
Ruby and Clojure application that runs on the Java Virtual Machine
(JVM). Puppet Server runs Ruby code for compiling Puppet catalogs and
for serving files in several JRuby interpreters. It also provides a
certificate authority through Clojure.
WWW: https://puppet.com/docs/puppet/7/server/about_server.html


Puppetserver on OpenBSD

Usually on other operating systems, Puppetserver is bundled
together with the Puppet agent, including an independent Ruby interpreter.
Due to incompatibilities between the JRuby bundled with Puppetserver,
and a few Ruby gems relying on the system Ruby, the
dependencies usually bundled with Puppetserver have to be installed
manually into Puppetserver:

Puppet and Puppetserver rely on the facter gem. OpenBSD support was
added only recently, not yet merged upstream. The facter gem installed
as package alongside Puppet agent comes with OpenBSD support.
The package that gets installed in Puppetserver shall be of the 
same version.

To find out the installed facter version:
# pkg_info ${MODRUBY_FLAVOR}-facter

Install the same version within Puppetserver:
# puppetserver gem install --no-document facter -v 

Then continue and install remaining Ruby gems into Puppetserver:
# puppetserver gem install --no-document puppet hiera-eyaml \
	hiera-file ipaddress msgpack

You may not need hiera-eyaml, hiera-file, or ipaddress gem, on the
other hand, your Puppet modules might rely on other gems.

As long as the OpenBSD support is not yet released in the facter Gem,
you have to copy over the gem from its system location into Puppetserver:
rm -rf ${LOCALSTATEDIR}/puppetlabs/puppetserver/data/jruby-gems/gems/facter-*
cp -r ${LOCALBASE}/lib/ruby/gems/${MODRUBY_REV}/gems/facter-* \

If you're using PuppetDB, you have to copy over the PuppetDB termini
into Puppetservers Puppet lib directory:

cp -r ${LOCALBASE}/share/puppetlabs/puppet/puppet/ \


The OpenBSD ports mailing-list

Only for arches

aarch64 amd64 i386 sparc64


java lang/ruby sysutils

Build dependencies

Run dependencies