Files
rpmbuilder/rpms/puppet-initial
unkinben 5fb08937ba
ci/woodpecker/pr/build-fedora43 Pipeline was successful
ci/woodpecker/pr/build-fedora44 Pipeline was successful
ci/woodpecker/pr/build-fedora42 Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
fix: require openvox-agent instead of puppet-agent in puppet-initial
The estate migrated from Puppet to OpenVox. puppet-agent no longer exists
as a package name in the rpm-vendor repos, so kickstart installs of
puppet-initial fail dependency resolution with "nothing provides
puppet-agent", blocking host provisioning.

- Change puppet-initial's dependency from puppet-agent to openvox-agent.
- Bump el8/el9 build version 1.0.4 -> 1.0.5 so a new RPM is published
  (deploy dedup skips identical filenames).

Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
2026-08-06 22:50:28 +10:00
..

puppet-initial

A firstrun bootstrap script and oneshot systemd service that initialises a freshly-provisioned host into Puppet:

  1. Sets the FQDN under .main.unkin.net.
  2. Fetches the Puppet CA certificate from the CA service.
  3. Registers the node with a noop agent run against the CA.
  4. Runs the agent a few times against the compile master, then enables the puppet service and disables itself.

Puppet CA endpoint

The CA endpoint defaults to the in-cluster puppetserver CA service puppetca.k8s.syd1.au.unkin.net:8140 (serving the standard /puppet-ca/v1/certificate/ca API).

It is overridable via the environment. The puppet-initial.service unit reads /etc/sysconfig/puppet-initial (EnvironmentFile=-, so the file is optional), which the RPM ships as a commented %config(noreplace) example:

Variable Default Purpose
PUPPETCA_HOST puppetca.k8s.syd1.au.unkin.net CA hostname (CA cert fetch + --server for registration).
PUPPETCA_PORT 8140 CA API port.

Overriding from kickstart

A kickstart %post can point a host at a different CA without rebuilding the RPM by writing the sysconfig file before the service starts:

%post
cat > /etc/sysconfig/puppet-initial <<'EOF'
PUPPETCA_HOST=puppetca.k8s.syd1.au.unkin.net
PUPPETCA_PORT=8140
EOF