So you have seen Puppet Core is available as a customer or on a developer license and you now want to get hold of the packages. If you are a user with more than 25 nodes make sure you speak to sales.
The first step is to make sure you have signed the EULA at https://forge.puppet.com/eula , in this case I have signed up as a developer user.
Now you need to create a forge API key, first make sure you have multifactor authentication enabled in settings.
Then when you create the key it will only be displayed once so I would recommend storing it in an appropriate secure secret store, I am using 1password for this demo.
Now that you have the key, you can see in the install instructions various locations for Puppet core content depending on your OS install type.
I will show examples of using Alma Linux 9 and Windows 11.
For Alma this is a simple job of installing the release package
[root@DESKTOP-E3QS517:~]# yum install https://yum-puppetcore.puppet.com/public/puppet8-release-el-9.noarch.rpm
Last metadata expiration check: 2:08:56 ago on Mon Feb 24 14:37:10 2025.
puppet8-release-el-9.noarch.rpm 3.6 kB/s | 8.2 kB 00:02
Dependencies resolved.
=============================================================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================================================================================================================================
Installing:
puppet8-release noarch 10.4.0-0.el9 @commandline 8.2 k
Transaction Summary
=============================================================================================================================================================================================================================================================================
Install 1 Package
Total size: 8.2 k
Installed size: 2.0 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : puppet8-release-10.4.0-0.el9.noarch 1/1
warning: Unable to get systemd shutdown inhibition lock: Could not activate remote peer.
Verifying : puppet8-release-10.4.0-0.el9.noarch 1/1
Installed:
puppet8-release-10.4.0-0.el9.noarch
Complete!
[root@DESKTOP-E3QS517:~]# vi /etc/yum.repos.d/puppet8-release.repo
and then adding your forge API key to the repo configuration. Don't change the username it's supposed to be forge-key.
[puppet8]
name=Puppet 8 Repository el 9 - $basearch
baseurl=https://yum-puppetcore.puppet.com/puppet8/el/9/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-2025-04-06-puppet8-release
enabled=1
gpgcheck=1
## Add authentication here by uncommenting and filling in values
#username=forge-key
#password=<api_key>
You can then search the packages to make sure the packages are visible.
[root@DESKTOP-E3QS517:~]# yum search puppet
Last metadata expiration check: 2:46:27 ago on Mon Feb 24 14:37:34 2025.
======================================================================================== Name & Summary Matched: puppet =========================================================================================
puppet-agent.x86_64 : The Puppet Agent package contains all of the elements needed to run puppet, including ruby and facter.
puppet8-release.noarch : Release packages for the Puppet 8 repository
puppetdb.noarch : Puppet Labs puppetdb
puppetdb-termini.noarch : Termini for puppetdb
puppetserver.noarch : Puppet Labs puppetserver
============================================================================================ Summary Matched: puppet ============================================================================================
For Windows I used the curl command and I am using the 1Password CLI to allow me to read in my stored forge key. This simply downloads the agent.
curl -J -O -u forge-key:$(op read op://Employee/puppetcorekey/password) 'https://artifacts-puppetcore.puppet.com/v1/download?os_name=windows&os_version=11&version=8.11.0&os_arch=x64'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 43.6M 100 43.6M 0 0 62.5M 0 --:--:-- --:--:-- --:--:-- 62.6M
ls .\puppet-agent-8.11.0-x64.msi
Directory: C:\Users\david.sandilands
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 24/02/2025 16:25 45749760 puppet-agent-8.11.0-x64.msi
So simple as that we now have the Puppet core packages secured with the forge keys. Let us know if there any further details you are looking for with Puppet Core.