This repository provides Prometheus and exporter RPM packages for Enterprise Linux systems. The long-running lest/prometheus-rpm project appears unmaintained, so this repository serves as an actively maintained successor that tracks upstream releases, verifies the artefacts we publish, and provides signed package repositories.
💡 Just want to install the packages? See docs/quickstart.md for key import and repo configuration instructions.
This project improves on previous Prometheus RPM packaging efforts by providing:
- Reproducible builds using
mockfor consistent, isolated build environments - Multi-EL support for Enterprise Linux 8, 9, and 10
- Multi-architecture support for x86_64 and aarch64
- Signed RPMs with GPG signatures to ensure package integrity
This is a work in progress. The repository currently contains:
specs/- RPM spec files for Prometheus and various exporterssources/- systemd unit files, configuration files, and other package assets referenced by the specs, organised per package (sources/<package_name>/...)scripts/- helper utilities for version discovery, runtime staging, mock builds, and RPM signingscripts/sign-rpms.sh- GPG-based RPM/SRPM signing with interactive and automated modestemplates/- baselinerpmmacrosused byscripts/stage-runtime.shdocker/- builder image (prometheus-rpm-builder:1.0), entrypoint, and compose file for running mock inside a containerruntime/- transient workspace prepared byscripts/stage-runtime.sh(artefacts, SOURCES cache, repo metadata, and GPG material)
Configuration files are vendored from upstream projects whenever they publish them. When no upstream example exists, hardened minimal defaults are provided alongside notes documenting any intentional divergence.
Publish tooling and additional documentation will be added in subsequent commits as the project matures.
docs/version-tracking.md- explains howupstreams.yamlis maintained and how the helper scripts are used to track upstream releases.docs/exporters.md- auto-generated exporter inventory with upstream links, licences, and supported architectures.docs/runtime.md- describesscripts/stage-runtime.sh, the runtime directory layout, and how to prepare GPG material safely.docs/build-and-stage.md- covers runningdocker compose, invokingscripts/build.sh, and staging artefacts for signing.docs/signing.md- covers exporting GPG keys, runningscripts/sign-rpms.sh, and verifying signed artefacts locally or in CI.docs/publishing.md- describes creating repository metadata, syncing to remote hosts, and making packages available to consumers.docs/quickstart.md- consumer setup guide (import key, add repo, install packages).docs/service-overrides.md- describes how to adjust systemd units via drop-in overrides.
This project is focused on building and distributing high-quality RPM packages for Prometheus and related exporters. It does not aim to:
- Carry downstream patches or modify upstream Prometheus or exporter behaviour
- Provide heavily opinionated defaults or distribution-specific tuning beyond upstream guidance
- Replace upstream release artefacts outside RPM-based systems
- Support end-of-life Enterprise Linux releases
- Manage Prometheus topology, scrape configuration, or deployment design
- Act as a turnkey or fully integrated monitoring stack
- Python helpers for tracking upstream releases and maintaining an exporter inventory
- Build and signing scripts with mock/Docker support
- Documentation covering build and signing workflows
- Documentation covering publishing workflows
- Continuous integration and container image publishing
Bug reports, feature requests, and pull requests are welcome. The project is under active development, and community contributions help shape its direction, including support for additional exporters.