Install and upgrade Bolt

Packaged versions of Bolt are available for several Linux distributions, macOS, and Microsoft Windows.

If you're upgrading to a version of Bolt with breaking changes, including Bolt 5.0.0, read Upgrade cautions.
Operating system Versions
Debian 11, 12
Fedora 40, 41
macOS 13, 14, 15
Microsoft Windows 10 Enterprise, 11
Microsoft Windows Server 2012R2, 2019
RHEL 7, 8, 9, 10
SLES 12, 15
Ubuntu 18.04, 20.04, 22.04, 24.04
The Bolt package for RHEL 10 is available only to Puppet Enterprise (PE) customers.
Packages are automatically tested on the versions listed above, but might be installable on other versions of the same OS, including Windows, macOS, and Debian.

Get credentials to download, install, or upgrade Bolt

To download, install, or upgrade Bolt, which is stored in a protected repository, you must download authenticated packages using either Puppet Core or Puppet Enterprise (PE) credentials.

  • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

  • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

After you download and install Bolt, to install an up-to-date version of Puppet Core on Bolt targets, make sure to configure credentials to Install Puppet Core on Bolt targets .

Install Bolt on Debian

Add credentials to your repository configuration

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials. Use the following steps to add credentials to your repository configuration.

  1. In your /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf file, uncomment the login and password lines.

  2. Edit the login and password to add credentials. Use either Puppet Core or PE credentials.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Install Bolt

To install Bolt, run the appropriate command for your version of Debian:

  • Debian 11

    Copy
    wget https://apt-puppetcore.puppet.com/public/puppet8-release-bullseye.deb
    sudo dpkg -i puppet8-release-bullseye.deb
    # Before you update, edit /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf
    sudo apt-get update
    sudo apt-get install puppet-bolt
  • Debian 12

    Copy
    wget https://apt-puppetcore.puppet.com/public/puppet8-release-bookworm.deb
    sudo dpkg -i puppet8-release-bookworm.deb
    # Before you update, edit /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf
    sudo apt-get update
    sudo apt-get install puppet-bolt            

Upgrade Bolt

  1. Ensure that you Add credentials to your repository configuration.

  2. To upgrade Bolt to the latest version, run the following command.

    Copy
    sudo apt-get update
    sudo apt install puppet-bolt

Uninstall Bolt

To uninstall Bolt, run the following command:

Copy
sudo apt remove puppet-bolt

Install Bolt on Fedora

Add credentials to your repository configuration

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials. Use the following steps to add credentials to your repository configuration.

  1. In your /etc/yum.repos.d/puppet8-release.repo file, uncomment the username and password lines.

  2. Edit the username and password to add credentials. Use either Puppet Core or PE credentials.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Install Bolt

To install Bolt, run the appropriate command for your version of Fedora:

  • Fedora 40

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-fedora-40.noarch.rpm
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo 
    sudo dnf install puppet-bolt        
  • Fedora 41

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-fedora-41.noarch.rpm
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo 
    sudo dnf install puppet-bolt            

Upgrade Bolt

  1. Ensure that you Add credentials to your repository configuration.

  2. To upgrade Bolt to the latest version, run the following command:

  3. Copy
    sudo dnf upgrade puppet-bolt

Uninstall Bolt

To uninstall Bolt, run the following command:

Copy
sudo dnf remove puppet-bolt

Install Bolt on macOS

You can install Bolt packages for macOS using the macOS installer.

macOS installer (DMG)

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials.

Based on your preference, you can either download Bolt for macOS directly or you can use curl.

Download directly

You can download the Bolt macOS installer (DMG) directly using the following links:

In the Sign In window, enter your Puppet Core or PE credentials to authenticate and download Bolt.

  • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

  • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Download via curl

Directly curl the endpoints with credentials to download Bolt using the following steps.

  1. Copy the download link for the macOS package you'd like to download from the previous section.

  2. Export either of the following sets of credentials, ensuring that you use either a Puppet Core username and password or a PE username and password.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

    For example:

    • export USERNAME=forge-key

    • export PASSWORD=<API_KEY>

  3. Call the credentials for the URL, for example:

    Copy
    curl -J -O -u $USERNAME:$PASSWORD "https://artifacts-puppetcore.puppet.com/v1/download?type=bolt&os_name=osx&os_version=14&os_arch=x86_64&version=5.0.1"
    When you paste the Bolt download link into the command, ensure that you remove any escape characters, typically \.

Install Bolt

Use the Apple Disk Image (DMG) to install Bolt on

  1. Download the Bolt installer package for your macOS version.

  2. Double-click the puppet-bolt-latest.dmg file to mount the installer and then double-click puppet-bolt-[version]-installer.pkg to run the installer.

If you get a message that the installer "can't be opened because Apple cannot check it for malicious software:"

  1. Click > System Preferences > Security & Privacy.
  2. From the General tab, click the lock icon to allow changes to your security settings and enter your macOS password.
  3. Look for a message that says the Bolt installer "was blocked from use because it is not from an identified developer" and click Open Anyway.
  4. Click the lock icon again to lock your security settings.

Upgrade Bolt

To upgrade Bolt to the latest version, download the DMG again and repeat the installation steps.

Uninstall Bolt

To uninstall Bolt, remove Bolt's files and executable:

Copy
sudo rm -rf /opt/puppetlabs/bolt /opt/puppetl abs/bin/bolt

Install Bolt on Microsoft Windows

You can install Bolt packages for Windows using Windows installer (MSI).

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials.

Download Bolt

You can download Bolt for Windows via a URL or via a command line tool. Steps for curl are provided. You can use those steps to develop your own method with another command line tool.

Download directly

You can download the Bolt Windows installer (MSI) directly from https://artifacts-puppetcore.puppet.com/v1/download?type=bolt&os_name=windows&os_version=latest&os_arch=x64&version=5.0.1

In the Sign In window, enter your Puppet Core or PE credentials to authenticate and download Bolt.

  • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

  • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Download via curl

Directly curl the endpoints with credentials to download Bolt using the following steps. You can use those steps to develop your own method with another command line tool.

  1. Use either of the following sets of credentials, ensuring that you use either a Puppet Core username and password or a PE username and password.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

  2. Call the credentials from the URL, for example:

    Copy
    curl.exe -J -O -u "forge-key:<FORGE_API_KEY>" "https://artifacts-puppetcore.puppet.com/v1/download?type=bolt&os_name=windows&os_version=latest&os_arch=x64&version=5.0.1"

Install Bolt

Use the Windows installer (MSI) package to install Bolt on Windows:

  1. Double-click the MSI file and run the installer.

  2. Open a new terminal window and run: bolt --version

Upgrade Bolt

To upgrade Bolt to the latest version, download the MSI again and repeat the installation steps.

Uninstall Bolt

You can uninstall Bolt from Windows Apps & Features:

  1. Press Windows + X + F to open Apps & Features.

  2. Search for Puppet Bolt, select it, and click Uninstall.

Install Bolt on RHEL

Add credentials to your repository configuration

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials. Use the following steps to add credentials to your repository configuration.

  1. In your /etc/yum.repos.d/puppet8-release.repo file, uncomment the username and password lines.

  2. Edit the username and password to add credentials. Use either Puppet Core or PE credentials.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Install Bolt

To install Bolt, run the appropriate command for your version of RHEL:

  • RHEL 7

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-el-7.noarch.rpm
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo                         
    sudo yum install puppet-bolt
  • RHEL 8

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-el-8.noarch.rpm
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo 
    sudo yum install puppet-bolt
  • RHEL 9

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-el-9.noarch.rpm
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo 
    sudo yum install puppet-bolt
  • RHEL 10

    The Bolt package for RHEL 10 is only available to customers with Puppet Enterprise credentials.
    Due to a known issue, RHEL 10 is not available via yum after adding PE credentials to your repository configuration.

    You can download the RHEL 10 package by adding the RHEL 10 baseurl to your EL 9 repository configuration.

    1. Download the EL9 repository:

      Copy
      sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-el-9.noarch.rpm
    2. In /etc/yum.repos.d/puppet8-release.repo:

      • Change the EL 9 baseurl from:

        Copy
        https://yum-puppetcore.puppet.com/puppet8/el/9/$basearch

        to:

        Copy
        https://yum-puppetcore.puppet.com/puppet8/el/10/$basearch
      • Make sure that the username is license-id and the password is a valid PE License ID. You can find your PE License ID in your PE license file or in the PE console by selecting License from the navigation bar.

      The updated /etc/yum.repos.d/puppet8-release.repo looks similar to:

      Copy
      [puppet8]
      name=Puppet 8 Repository el 9 - $basearch
      baseurl=https://yum-puppetcore.puppet.com/puppet8/el/10/$basearch
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppet8-release
      enabled=1
      gpgcheck=1

      ## Add authentication here by uncommenting and filling in values 

      username=license-id 
      password=<PE_LICENSE_ID>

    3. Install Bolt for RHEL 10. Run:

      Copy
      sudo yum install puppet-bolt

Upgrade Bolt

  1. Ensure that you Add credentials to your repository configuration.

  2. To upgrade Bolt to the latest version, run the following command:

    Copy
    sudo yum update puppet-bolt

Uninstall Bolt

To uninstall Bolt, run the following command:

Copy
sudo yum remove puppet-bolt

Install Bolt on SLES

Add credentials to your repository configuration

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials. Use the following steps to add credentials to your repository configuration.

  1. In your /etc/yum.repos.d/puppet8-release.repo file, uncomment the username and password lines.

  2. Edit the username and password to add credentials. Use either Puppet Core or PE credentials.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Install Bolt

To install Bolt, run the appropriate command for your version of SLES:

  • SLES 12

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-release-sles-12.noarch.rpm
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo        
    sudo zypper install puppet-bolt
  • SLES 15

    Copy
    sudo rpm -Uvh https://yum-puppetcore.puppet.com/public/puppet8-
    release-sles-15.noarch.rpm 
    # Before you install, edit /etc/yum.repos.d/puppet8-release.repo 
    sudo zypper install puppet-bolt

Upgrade Bolt

  1. Ensure that you Add credentials to your repository configuration.

  2. To upgrade Bolt to the latest version, run the following command:

    Copy
    sudo zypper update puppet-bolt

Uninstall Bolt

To uninstall Bolt, run the following command:

Copy
sudo zypper remove puppet-bolt

Install Bolt on Ubuntu

Add credentials to your repository configuration

To download, install, or upgrade Bolt, you must authenticate using Puppet Core or PE credentials. Use the following steps to add credentials to your repository configuration.

  1. In your /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf file, uncomment the login and password lines.

  2. Edit the login and password to add credentials. Use either Puppet Core or PE credentials.

    • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

    • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

Install Bolt

To install Bolt, run the appropriate command for your version of Ubuntu:

  • Ubuntu 18.04

    Copy
    wget https://apt-puppetcore.puppet.com/public/puppet8-release-bionic.deb
    sudo dpkg -i puppet8-release-bionic.deb
    # Before you update, edit /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf
    sudo apt-get update 
    sudo apt-get install puppet-bolt
  • Ubuntu 20.04

    Copy
    wget https://apt-puppetcore.puppet.com/public/puppet8-release-focal.deb
    sudo dpkg -i puppet8-release-focal.deb
    # Before you update, edit /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf
    sudo apt-get update 
    sudo apt-get install puppet-bolt
  • Ubuntu 22.04

    Copy
    wget https://apt-puppetcore.puppet.com/public/puppet8-release-jammy.deb
    sudo dpkg -i puppet8-release-jammy.deb
    # Before you update, edit /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf
    sudo apt-get update 
    sudo apt-get install puppet-bolt
  • Ubuntu 24.04

    Copy
    wget https://apt-puppetcore.puppet.com/public/puppet8-release-noble.deb
    sudo dpkg -i puppet8-release-noble.deb
    # Before you update, edit /etc/apt/auth.conf.d/apt-puppetcore-puppet.conf
    sudo apt-get update 
    sudo apt-get install puppet-bolt

Upgrade Bolt

  1. Ensure that you Add credentials to your repository configuration.

  2. To upgrade Bolt to the latest version, run the following command:

    Copy
    sudo apt-get update
    sudo apt install puppet-bolt

Uninstall Bolt

To uninstall Bolt, run the following command:

Copy
sudo apt remove puppet-bolt

Install Bolt as a gem

In rare circumstances, you might want to install Bolt as a gem. To help ensure that Bolt works as expected, install the Bolt gem with up to date Puppet and Facter gems.

Gem installations of Bolt do not include all Bolt dependencies and do not include modules required for common Bolt actions.

You must have either Puppet Core or Puppet Enterprise (PE) credentials:

  • Puppet Core: The username is the string literal forge-key and the password is the Puppet Core Forge API key associated with your Puppet Core free or paid user account. For more information about the API key, see Purchasing Puppet Core and Accessing Puppet Core for limited use for testing or development.

  • PE: The username is the string literal license-id and the password is your PE License ID. You can find your PE License ID in your PE license file or in the PE console by clicking License in the navigation pane.

To install Bolt as a gem:

1. Export either a Puppet Core Forge key or your PE License ID.

Copy
export PUPPET_FORGE_TOKEN="<API_KEY_OR_PE_LICENSE>"

2. Create a test directory by running the following commands:

Copy
mkdir test
cd test

3. Specify your local configuration:

Copy
bundle config --local bin vendor/bin
bundle config --local gemfile Gemfile
bundle config --local path vendor/bundle
bundle config set --global https://rubygems-puppetcore.puppet.com "forge-key:${PUPPET_FORGE_TOKEN}"

4. Create a Gemfile called Gemfile with the following content:

Copy
source 'https://rubygems.org'
source 'https://rubygems-puppetcore.puppet.com' do
gem 'puppet', '~> 8.16'
gem 'facter', '~> 4.16'
gem 'bolt', '~> 5.0.1'
end

5. Install the Bolt gem:

Copy
bundle install

6. Verify the installation:

Copy
bundle info bolt
bundle exec bolt --version

Install gems in Bolt's Ruby environment

Bolt packages include their own copy of Ruby.

When you install gems for use with Bolt, use the --user-install command-line option to avoid requiring privileged access for installation. This option also enables sharing gem content with Puppet installations — such as when running apply on localhost — that use the same Ruby version.

To install a gem for use with Bolt, use the command appropriate to your operating system:

  • On Windows, in the default installation location:
    Copy
    "C:/Program Files/Puppet Labs/Bolt/bin/gem.bat" install --user-install <GEM>
  • On other platforms:
    Copy
    /opt/puppetlabs/bolt/bin/gem install --user-install <GEM>