ceph-dev-pipeline: pin podman auth to a persistent authfile
Same fix as
aae7f2fd applied to the builder container stage. The
Jenkins agent runs as a systemd service with no login session and no
XDG_RUNTIME_DIR, so podman derives the default auth.json location from
ambient node state at each invocation: /run/user/<uid> if it exists
(which depends on linger/session state), else fallback dirs under /tmp.
All of these are runtime tmpfs paths whose lifecycle is owned by
logind, systemd-tmpfiles, or podman's fallback heuristics rather than
by the job.
We observed a job where podman login succeeded and the base image pull
inside build-with-container.py went anonymous sixty seconds later on
the same node, hitting Docker Hub's unauthenticated per-IP rate limit
(toomanyrequests). The exact event that made the credentials
unavailable is still under investigation, but pinning the authfile to
persistent storage in $HOME removes the dependency on runtime tmpfs
state entirely.
Because each Jenkins sh step runs a fresh shell, REGISTRY_AUTH_FILE is
set via env at the Groovy level so every subsequent sh step in the
matrix cell resolves the same file, including the build stage's
build-with-container.py runs (which we cannot pass --authfile to) and
the container stage's build_container.
Refs: https://tracker.ceph.com/issues/77920
Signed-off-by: David Galloway <david.galloway@ibm.com>