Dependably

RPM (dnf/yum)

Dependably serves a standard dnf/yum repository: it caches upstream packages on first fetch, checks each one against the SHA-256 checksum in the upstream repository metadata before storing it, and can host your own .rpm builds.

Create a token in the web UI (see Getting started) and use it where the examples below show <your token>. Your repository base URL is:

https://repo.example.com/rpm/

Configure

dnf/yum reads its repositories from .repo files in /etc/yum.repos.d/. Create /etc/yum.repos.d/dependably.repo:

[dependably]
name=dependably
baseurl=https://repo.example.com/rpm/
enabled=1
gpgcheck=0
username=user
password=<your token>

dnf authenticates with HTTP Basic: the token is the password and the username can be anything (user is conventional), set with the username and password keys. This is the file the web UI's Setup page generates, and it ships with gpgcheck=0. Turn signature checking on once an admin has added an RPM signing key under Settings, then Signatures. Because this file holds the literal token, keep its permissions tight:

sudo chmod 600 /etc/yum.repos.d/dependably.repo

If an admin has turned on Anonymous pull in Settings, you can drop the username and password lines and read without a token.

Verify

sudo dnf clean all
sudo dnf makecache
sudo dnf repolist                 # "dependably" should be listed
sudo dnf --disablerepo='*' --enablerepo='dependably' install <package>

Each package download is recorded as a Download event on the Activity tab of the Audit page, which admins, owners, and auditors can open.

Publishing

Upload an .rpm with an HTTP PUT (HTTP Basic; the token is the password):

curl --user user:<your token> \
  --upload-file mypackage-1.0.0-1.x86_64.rpm \
  https://repo.example.com/rpm/upload

Uploading requires a token with a push scope (push only or push & pull). Only admins and owners hold the publish permission, so the token must be theirs or a service token; see Access tokens. A single upload is capped at 500 MiB, or lower if an admin has set an upload limit under Settings, then Storage.

If your organization has an RPM upstream configured, uploads are refused with 409 Conflict while Hosted publishing is set to passthrough. An admin can switch it to Merged (allow hosted publish) under Settings, then Proxy, so the repository serves your packages alongside upstream ones.

Revert

sudo rm /etc/yum.repos.d/dependably.repo
sudo dnf clean all