• Puppet was upgraded to puppetserver which is Clojure-based. This actually worked fairly easily; fair play to Puppetlabs for seemingly being pretty serious about their compatibility story. There were only two things to care about really. The puppetlabs-apache module had a bug which I needed to backport, and the path where agent reports were stored had changed from /var/cache/puppet/reports to /var/lib/puppetserver/reports.

When upgrading, there was an issue with PHP. I was required to remove existing PHP extensions that had been installed for 7.4, and replace them with the 8.2 versions.

Encountered bug 1000263. I solved most of these issues by installing the explicitly versioned PHP extension package from the archive. e.g., in my Puppet manifests, I previously had the following:

package { "php-gettext": status => installed }

I changed this to:

package { "php${version}-gettext": status => installed }

where $version is the version parameter. I am not totally sure why this succeeds.