catalog / docker.io/library/eclipse-mosquitto / criteria

eclipse-mosquitto — validation criteria

Per-image acceptance criteria for the docker.io/library/eclipse-mosquitto profile. Validated against …@sha256:212f89e1… (tag 2.0), derived by drop-test against the default invocation (the image's bundled config: listener 1883, anonymous local use). Capabilities trim 14 → 2; the filesystem locks read-only with no tmpfs. Both dimensions apply as a unit.

Representative workload / correctness check

profiles/workloads/mosquitto.sh — a real publish/subscribe round-trip via the in-image mosquitto_sub / mosquitto_pub clients: the subscriber runs foreground printing the one expected message to stdout, the publisher fires a beat later from the background. Two probe-hygiene rules encoded:

  1. Probes exec as --user mosquitto so they cannot pollute the caps minimum (the rabbitmq lesson).
  2. The probe writes nothing inside the container — an earlier draft captured the subscriber into /tmp/…, which would have derived the filesystem dimension's /tmp candidate falsely-required (probe pollution, filesystem edition). Any re-derivation must stay write-free.

The drop-test correctness check also asserts the broker runs non-root (uid 1883) — the drop is the broker's own, and a broken drop must not pass while serving as root.

capabilities — derived by drop-test

filesystem — derived by drop-test

Scope (run_config + out-of-band conditions)