# usmrad — Rapid Application Deployment supervisor image (Fedora).
#
# Build context: the repo root (nothing local is required — USM and usmrad
# both arrive via the hosted installer, which bundles usmrad):
#
#   podman build -f containers/usmrad-fedora/Containerfile -t usmrad-fedora .
#
# git is required by usmrad at runtime and curl for https fetches; the
# installer carries bash itself. The installer auto-detects dnf on PATH,
# wires the usm-spm-dnf helper plus the lib64 libdir into the generated
# usm.config, and shims both usm and usmrad into /usr/bin.
#
# The system is enrolled and the web-stack repository added at build time so
# its packages (statum, astralis, inversion, the invercargill libraries, …)
# resolve immediately; USMRAD_USM_REPOS adds further repositories at runtime.
#
# Run pattern:
#
#   podman run --rm \
#     -e USMRAD_REPO=https://git.example/my-app.git \
#     -e USMRAD_BRANCH=main \
#     -e USMRAD_POLL=1 \
#     -v ./data:/app/pwd \
#     usmrad-fedora my-app --port 8080

FROM fedora:latest
# python3-dnf is the SPM helper's container bootstrap (README: System
# package manager integration) — the base image ships no dnf python module
RUN dnf install -y git curl ca-certificates python3-dnf && dnf clean all
RUN curl -fsSL https://packages.astrologue.nz/install-usm.sh -o /tmp/install-usm.sh \
    && bash /tmp/install-usm.sh -y \
    && rm /tmp/install-usm.sh
RUN usm enroll -y \
    && usm add-repo -y https://packages.astrologue.nz/repo/web-stack/repo.usmr
ENTRYPOINT ["usmrad"]
