Skip to main content

Set up a Chef package repository

Use this guide to create a platform-native package repository so you can install Progress Chef application packages through your system’s package manager.

Before you begin

Chef releases packages from the following release channels:

stable
A build from this channel is an “official” release that has passed full user acceptance testing. Artifacts in this channel are retained indefinitely.
current
A build from this channel is an “integration” build that has passed full testing, but hasn’t been officially released. Artifacts in this channel are retained for 30 days and then removed automatically.

Use the stable channel when installing Chef products on production systems.

The stable and current release channels support the following package repositories:

  • APT (Debian and Ubuntu platforms)
  • YUM and DNF (Enterprise Linux platforms)

Set up an APT package repository for Debian and Ubuntu

To set up an APT package repository for Debian and Ubuntu, follow these steps:

  1. Enable APT to fetch packages over HTTPS:

    sudo apt-get install apt-transport-https
    
  2. Install the public key for Chef Software:

    wget -qO - https://packages.chef.io/chef.asc | sudo apt-key add -
    
  3. Create the APT repository source file:

    echo "deb https://<LICENSE_ID>@packages.chef.io/repos/apt/<CHANNEL> <DISTRIBUTION> main" > chef-<CHANNEL>.list
    

    Replace:

    • <LICENSE_ID> with your license ID.

    • <CHANNEL> with the release channel: stable or current.

    • <DISTRIBUTION> with the codename for your distribution. For example:

      • Debian 11: bullseye
      • Debian 12: bookworm
      • Debian 13: trixie
      • Ubuntu 22.04: jammy
      • Ubuntu 24.04: noble
  4. Move the repository source file into the APT sources directory:

    sudo mv chef-stable.list /etc/apt/sources.list.d/
    
  5. Update the APT package cache:

    sudo apt-get update
    

Set up a package repository for Enterprise Linux

Note

Starting in Chef Infra Client 18.6.2, Chef upgraded the GPG signing algorithm used to sign RHEL packages from SHA1 to SHA256. RHEL 9 no longer supports the less secure SHA1 hashes.

Set up a YUM repository for Enterprise Linux

To set up a YUM package repository for Enterprise Linux, follow these steps:

  1. Verify that you have the yum-utils package installed:

    rpm -q yum-utils
    

    If the command returns package yum-utils is not installed, install it:

    sudo yum install -y yum-utils
    
  2. Install the public key for Chef Software:

    sudo rpm --import https://packages.chef.io/chef.asc
    
  3. Create the YUM repository source file:

    cat >chef-<CHANNEL>.repo <<EOL
    [chef-<CHANNEL>]
    name=chef-<CHANNEL>
    baseurl=https://<LICENSE_ID>@packages.chef.io/repos/yum/<CHANNEL>/el/<VERSION>/\$basearch/
    gpgcheck=1
    # No auto-upgrade, as there are manual steps needed for Chef Infra Server upgrades
    enabled=0
    EOL
    

    Replace:

    • <LICENSE_ID> with your license ID.
    • <CHANNEL> with the release channel: stable or current.
    • <VERSION> with the Enterprise Linux version.
  4. Add the repository to your package manager configuration:

    sudo yum-config-manager --add-repo chef-stable.repo
    
  5. Pull the repository metadata:

    sudo yum makecache
    

Set up a DNF repository for Enterprise Linux

To set up a DNF package repository for Enterprise Linux, follow these steps:

  1. Install the public key for Chef Software:

    sudo rpm --import https://packages.chef.io/chef.asc
    
  2. Create the DNF repository source file:

    cat >chef-<CHANNEL>.repo <<EOL
    [chef-<CHANNEL>]
    name=chef-<CHANNEL>
    baseurl=https://<LICENSE_ID>@packages.chef.io/repos/yum/<CHANNEL>/el/<VERSION>/$basearch/
    gpgcheck=1
    # No auto-upgrade, as there are manual steps needed for Chef Infra Server upgrades
    enabled=0
    EOL
    

    Replace:

    • <LICENSE_ID> with your license ID.
    • <CHANNEL> with the release channel: stable or current.
    • <VERSION> with the Enterprise Linux version.
  3. Add the repository to your package manager configuration:

    sudo dnf config-manager --add-repo chef-stable.repo
    
  4. Pull the repository metadata:

    sudo dnf makecache
    
Edit this page on GitHub

Thank you for your feedback!

×