Homebrew Puppet
A tap for Puppet macOS packages
How do I install these packages?
brew install --cask puppetlabs/puppet/<package>
Bolt
To install Bolt with brew run
brew install --cask puppetlabs/puppet/puppet-bolt
This will install bolt to /opt/puppetlabs/bin/bolt
, so to use bolt add /opt/puppetlabs/bin
to your path
export PATH=$PATH:/opt/puppetlabs/bin
Installing Bolt 2.x
To install Bolt 2.x, run
brew tap puppetlabs/puppet
brew install puppet-bolt@2
PE Client Tools
To install the latest version of PE Client Tools run
brew install puppetlabs/puppet/pe-client-tools
To install the client tools for PE 2021, run
brew install puppetlabs/puppet/pe-client-tools
This will install the standalone commands from pe-client-tools to /opt/puppetlabs/bin
so you'll need to have /opt/puppetlabs/bin
in your path. All the commands are also available via a puppet face if you have the puppet-agent installed too.
PDK
To install PDK with brew:
brew install --cask puppetlabs/puppet/pdk
This will install PDK into /opt/puppetlabs/pdk
and add an entry into /etc/paths.d
to add PDK to your
shell's PATH, however you may have to relaunch your terminal session before pdk
can be found on your PATH.
If you use ZShell (zsh), you will have to take additional steps before pdk
can be found on your PATH, see
the PDK Troubleshooting docs
to learn more.
Installing PDK 1.x
To install the latest PDK 1.x release, run
brew tap puppetlabs/puppet
brew install pdk@1
Puppet Agent
To install the very latest Puppet Agent with brew:
brew install puppetlabs/puppet/puppet-agent
Additionally we maintain versioned casks for each collection
puppetlabs/puppet/puppet-agent-6
puppetlabs/puppet/puppet-agent-7
Wash
To install Wash with brew:
brew install puppetlabs/puppet/wash
This will build Wash (with Go) and install it to /usr/local/bin/wash
.
Relay
To install the CLI tool to interact with Relay:
brew install puppetlabs/puppet/relay
This will install the relay CLI from the binary builds produced at @puppetlabs/relay - no local build tools are required.
Migrating from pre-tap installations
If you previously installed the PDK or Bolt from homebrew before this tap existed, you will see errors about the keg not existing or the cask already being installed.
To remedy that, simply add the puppetlabs/puppet
tap after updating homebrew:
brew update
brew tap puppetlabs/puppet
After tapping, you can refer to the packages by their short name when interacting with them. For example:
brew upgrade pdk
Updating versions
When new versions of packages are shipped, you can use a Rake task to update the Cask to the latest version and SHAs
rake 'brew:cask[puppet-bolt]'
To update the versioned casks - for example puppet-agent-6
- include the collection as a 2nd argument
rake 'brew:cask[puppet-agent,6]'
You can test updated Cask files with
brew install Casks/puppet-bolt.rb --force
Updating pe-client-tools
Right now, pe-client-tools live in a location that can't be browsed so we needed a different rake task for it. There is a variable for the latest / default version of PE and a hash that defines the pe-client-tools version associated with each PE version.
To pull down a new version of the client tools you will first want to update the variables in the Rakefile and then run one of these commands:
# utilize the LATEST_PE variable
rake brew:pe_client_tools
# Update the individual PE collections
rake 'brew:pe_client_tools[2019.8]'
Internally, we can look for the available versions by poking around on http://builds.puppetlabs.lan/pe-client-tools/