Prometheus On Loopback, Retention Written Down
Prometheus from the upstream release (EL 10 has no package), sha256-verified, on loopback: the binary listens everywhere and authenticates nobody. Retention time and size as explicit flags, lifecycle and admin endpoints off (the live test POSTs to both), prometheus.yml checked by the promtool it installs. Pairs with grafana-server and node-exporter. Original role, live-tested on Rocky Linux 10.
Verification
Live-testedReally deployed to a container sandbox, proven idempotent (a second run changes nothing), verified against the role’s assertions, then torn down.
Conformance
- Static validation (yamllint · ansible-lint)
Provenance
- SHA-256 checksum
- Signature (pending)
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-09-19 · podman 4.9.3 · ansible 2.21.4 · how we verify
Documentation
prometheus-server
Prometheus from the upstream release tarball (sha256-verified), as a system service on loopback, with explicit retention and the endpoints that change the server switched off. Original role for EL 10, live-tested with podman on Rocky Linux 10.
There is no package, and there is no login. EL 10 ships no Prometheus;
the upstream tarball is the distribution, so the role downloads the release,
checks it against the published sha256sums.txt, and installs prometheus
and promtool. The binary listens on every interface and authenticates
nobody. This role listens on 127.0.0.1:9090 for a proxy that does (this
catalogue's caddy-https or haproxy-tls) or for Grafana on the same host
(grafana-server points at it by default); the live test reads the
listening sockets and expects loopback only.
Retention is a decision, written down. The sample configuration sets
none, so the default 15 days applies silently; the role writes the time and,
if you set it, a size cap, and the live test reads both back from
/api/v1/status/flags - what the process runs with, not what a file says.
The endpoints that change the server are off. /-/reload and /-/quit
(lifecycle) and the TSDB delete and snapshot calls (admin API) are flags, off
here; the live test POSTs to both and expects a refusal (403 from the first,
and from the second a 500 whose body says admin APIs disabled - Prometheus
does not answer 403 there, which the first draft of this test assumed).
Configuration changes are applied with a SIGHUP through systemctl reload.
Checked by the release that reads it. prometheus.yml is validated with
the just-installed promtool before it lands. Scrape jobs, Alertmanagers and
rule files are plain variables; the default scrapes Prometheus itself and the
node-exporter role on the same host.
License
Commercial - IaC Bazaar EULA. (c) IaC Bazaar.
Usage code & full reference need an account
The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.
- Variables
- Test
Related modules
ansible-grafana-server
Grafana on loopback with a secret key of yours: every install that never set one shares the package's, which encrypts the data-source credentials in its database. Secure cookies and HSTS for the TLS proxy in front; public snapshots, plugin update checks, feedback links and Gravatar switched off. Settings verified through the API, not the file. Original role, live-tested on Rocky Linux 10.
ansible-node-exporter
Official node_exporter release (pinned v1.11.1) with sha256 checksum-verified install, dedicated shell-less system user, and a systemd unit on :9100; live-tested for idempotence with a functional /metrics verification.