RPM (experimental)
Collects RPM packages.
Details
Transfer Tag
rpm
Supported PURLs
rpm
System Dependencies
NONE
Transfer 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