Skip to content

[Infrastructure] Data-layer images pinned to mutable latest tags auto-upgrade on pod restart #555

Description

@Flegma

Location: base/minio/stateful-set.yaml:33 (5stack-panel)

What: The object store (quay.io/minio/minio:latest, line 33) and the media server (bluenviron/mediamtx:latest, overlays/mediamtx/deployment.yaml:33) reference the mutable latest tag. Because the tag is literally latest, Kubernetes defaults imagePullPolicy to Always, so every pod restart or reschedule pulls whatever latest currently points to upstream. TimescaleDB (base/timescaledb/stateful-set.yaml:31) similarly uses the floating latest-pg17 tag, pulled on any new-node schedule. None of these upstream images are controlled by 5stack.

Impact: MinIO ships a breaking release (it has removed the embedded console and changed server flags in past releases); the next node reboot or pod eviction pulls that new image, the minio server/mc startup script in this StatefulSet fails on the removed/renamed flag, and the S3 layer serving demos, clips, snapshots, and DB backups fails to come up with no code change on the operator's side.

Suggested fix: Pin third-party data-layer and media images to specific version tags (ideally by digest) and bump them deliberately, rather than tracking latest/latest-pg17.

Verifier evidence

base/minio/stateful-set.yaml:33 image: quay.io/minio/minio:latest; overlays/mediamtx/deployment.yaml:33 image: bluenviron/mediamtx:latest; base/timescaledb/stateful-set.yaml:31 image: timescale/timescaledb:latest-pg17. grep for imagePullPolicy across base/minio, base/timescaledb, overlays/mediamtx returned no matches, so defaults apply (Always for the latest tags).


Found by the 2026-07 multi-agent code audit; adversarially verified (CONFIRMED, P2). One of a batch of findings from that pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-mediumCode quality & robustnessaudit-2026-07Findings from the 2026-07 code audit / review passreliabilityReliability or availability concernservice:infrastructure5stackgg/5stack-panel infrastructure

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions