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:
Enable APT to fetch packages over HTTPS:
sudo apt-get install apt-transport-httpsInstall the public key for Chef Software:
wget -qO - https://packages.chef.io/chef.asc | sudo apt-key add -Create the APT repository source file:
echo "deb https://<LICENSE_ID>@packages.chef.io/repos/apt/<CHANNEL> <DISTRIBUTION> main" > chef-<CHANNEL>.listReplace:
<LICENSE_ID>with your license ID.<CHANNEL>with the release channel:stableorcurrent.<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
- Debian 11:
Move the repository source file into the APT sources directory:
sudo mv chef-stable.list /etc/apt/sources.list.d/Update the APT package cache:
sudo apt-get update
Set up a package repository for Enterprise Linux
Note
Set up a YUM repository for Enterprise Linux
To set up a YUM package repository for Enterprise Linux, follow these steps:
Verify that you have the
yum-utilspackage installed:rpm -q yum-utilsIf the command returns
package yum-utils is not installed, install it:sudo yum install -y yum-utilsInstall the public key for Chef Software:
sudo rpm --import https://packages.chef.io/chef.ascCreate 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 EOLReplace:
<LICENSE_ID>with your license ID.<CHANNEL>with the release channel:stableorcurrent.<VERSION>with the Enterprise Linux version.
Add the repository to your package manager configuration:
sudo yum-config-manager --add-repo chef-stable.repoPull 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:
Install the public key for Chef Software:
sudo rpm --import https://packages.chef.io/chef.ascCreate 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 EOLReplace:
<LICENSE_ID>with your license ID.<CHANNEL>with the release channel:stableorcurrent.<VERSION>with the Enterprise Linux version.
Add the repository to your package manager configuration:
sudo dnf config-manager --add-repo chef-stable.repoPull the repository metadata:
sudo dnf makecache