catalog / docker.io/prom/prometheus / criteria

prometheus — validation criteria

Per-image acceptance criteria for the docker.io/prom/prometheus profile. Validated against …@sha256:3c42b892… (tag v3.13.1), derived by drop-test against the default invocation. The catalog's first fully zero-privilege profile: capabilities trim 14 → 0 and the filesystem locks read-only with no tmpfs. Both dimensions validated together; they apply as a unit.

Representative workload / correctness check

profiles/workloads/prometheus.sh — readiness, then the query API must show the bundled config's self-scrape actually landed (up == 1 for localhost:9090), then a non-zero prometheus_tsdb_head_samples_appended_total, which proves the TSDB write path under --storage.tsdb.path=/prometheus was exercised — a ready check alone passes before the first scrape and would not validate the storage path at all. Two timing subtleties encoded in the workload: the first scrape takes up to one scrape interval (~15s), and the appended-samples counter reads 0 on the scrape that first reports it (appends land after the scrape), so both checks poll.

capabilities — derived by drop-test

filesystem — derived by drop-test

Scope (run_config + out-of-band conditions)