As a user, I can publish a Yum repository that works with repo_gpgcheck=1 (Signed Repositories)
(Clone of Pulp 2 issue https://pulp.plan.io/issues/3055)
To allow a Yum repository to be used with Yum clients that have repo_gpgcheck=1 configured in /etc/yum.conf:
- Create a new GPG signing key that can be used by Pulp worker processes without a password. (Documentation provides example procedures.)
- Append the public key associated with the new GPG signing key to the gpgkey file specified in the distributor config for the Yum repository in Pulp.
- Set gpg_sign_metadata to True in the distributor config for the Yum repository in Pulp.
More detailed description from Neal Gompa (Conan_Kudo, Fedora contributor):
Signed repositories (for RPM repos) are when the `repomd.xml` file (the index file referencing all other parts of the RPM metadata) is signed using a GPG key (but does not necessarily have to be the same key as the packages, though usually is) in the form of a detached signature (`repomd.xml.asc`) that is placed next to the `repomd.xml` file. Package managers like DNF, Zypper, and YUM can use this when `repo_gpgcheck=1` is set in the .repo file to validate the XML before reading it. SUSE systems require this by default and will not normally fetch repos that are not signed. If the GPG key for the repository metadata differs from the packages' GPG key, its public key must also be present in the `gpgkey=` list in the .repo file.
Updated by dalley over 3 years ago
- Tracker changed from Issue to Story
- Subject changed from As a user, I can publish a Yum repository that works with repo_gpgcheck=1 to As a user, I can publish a Yum repository that works with repo_gpgcheck=1 (Signed Repositories)
- Description updated (diff)
- % Done set to 0
Added by Lubos Mjachky over 2 years ago
Publish a signed Yum repository if a signing service was attached
If a user creates a repository with a signing service, a publication will automatically contain a detached signature and a public key in addition. The detached signature and the public key are both used by a package manager in order to verify whether the repository is provided by a trusted authority or not.