RPM (experimental)
Collects RPM packages.
Details
Transfer Tag
rpmSupported PURLs
rpmSystem Dependencies
NONETransfer File Example
---
schemaVersion: v1
kind: transfer
stages:
collect:
plugins:
- name: rpm
config:
process_timeout: 60
max_processes: 3
RPM Collector Plugin​
The experimental RPM package collector plugin can be enabled through use of the --experimental or -x command line
option to hopctl, or by setting the HOPPR_EXPERIMENTAL environment variable to a non-empty value (typically "1"
by convention).
The experimental plugin does not depend on the presence of command line tools such as dnf, yum, or zypper. It collects packages using web
requests to the repository endpoint(s) specified in the manifest file, and can be run from any platform.
Configuration Options​
| Option | Details |
|---|---|
| base_arch | String. Value for the $base_arch dnf variable to parse to in local repositories. Default: None |
| release_ver | String. Value for the $release_ver dnf variable to parse to in local repositories. Default: None |
| vars_dir | Path. Directory to look for dnf variable files when parsing local repositories.Default: /etc/dnf/vars, /etc/yum/vars |
Proxy and Certificate Configuration​
No .repo configuration file(s) are required, but the following environment variables should be set if necessary.
| Variable | Details |
|---|---|
HTTP_PROXY / http_proxy | Proxy server and port to use for HTTP web requests |
HTTPS_PROXY / https_proxy | Proxy server and port to use for HTTPS web requests |
NO_PROXY / no_proxy | Comma-separated list of hostname patterns that should bypass the proxy server |
REQUESTS_CA_BUNDLE | Path to file containing trusted certification authority certificates |
Repository Configuration​
Repositories can be specified either locally in /etc/yum.repos.d/*.repo or in the manifest file as a URL path up to, but not including, the repodata directory.
---
schemaVersion: v1
kind: Manifest
metadata:
name: Example Manifest File
version: "1.0.0"
description: This is an example manifest.yml file
sboms:
- url: https://example.com/example-bom.json
- local: ../example-bom.json
repositories:
rpm:
- url: https://dl.rockylinux.org/vault/rocky/8.6/AppStream/x86_64/os
- url: https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Everything/x86_64/os
Authentication Configuration​
If using cert authentication, you can set paths to your cert and key in the repo config file. To specify credentials, you need a credentials file.
Sample credentials file:
---
schemaVersion: v1
kind: Credentials
metadata:
name: Registry Credentials
version: v1
description: Sample credentials file
credential_required_services:
- url: registry.gitlab.com
user_env: CI_REGISTRY_USER
pass_env: CI_REGISTRY_PASSWORD