Dockerfile.rhel9 #1

  • //
  • guest/
  • russell_jackson/
  • sdp/
  • test/
  • containers/
  • Dockerfile.rhel9
  • View
  • Commits
  • Open Download .zip Download (1 KB)
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi-init:9.8
FROM ${BASE_IMAGE}
ENV container=docker
ENV SDP_DISTRO_PYTHON=/usr/bin/python3.12
RUN dnf -y install \
    systemd dbus sudo hostname bash coreutils-single findutils diffutils procps-ng psmisc lsof strace net-tools \
    ca-certificates curl-minimal wget tar gzip unzip rsync openssh-clients openssh-server \
    gcc gcc-c++ make openssl openssl-devel zlib-devel bzip2-devel \
    sqlite-devel libffi-devel xz-devel openldap-devel cyrus-sasl-devel \
    python3.12 python3.12-devel python3.12-pip iproute util-linux \
    && dnf clean all \
    && useradd --create-home --shell /bin/bash perforce \
    && usermod --password "$(openssl passwd -6 "$(openssl rand -base64 48)")" perforce \
    && chmod 0400 /etc/shadow \
    && systemctl mask getty.target console-getty.service systemd-logind.service
# Root-only read permission avoids host AppArmor denying unix_chkpwd's DAC
# override on RHEL's mode-000 shadow file inside the disposable container.
RUN systemctl mask systemd-binfmt.service
STOPSIGNAL SIGRTMIN+3
CMD ["/sbin/init"]
# Change User Description Committed
#1 34004 Russell C. Jackson (Rusty) Improve SDP backup/recovery, Maintenance, logging and cloud operation.

Add owned checkpoint locks, recovery-aware retention, preserved database switches,
bounded cleanup and coordinated AWS/Azure snapshots. Fix service-user password
initialization, edge staging, standby promotion state parsing, proxy cache setup,
typed depot verification and historical-server configuration/error handling.
Remove unused OTP programs; keep Windows removed, server.locks cleanup and the
journal-count condition unchanged. Add no global shell strict modes.

Update operational documentation and add reproducible mkdirs.sh/mkdirs.cfg
container assurance. Validate Ubuntu 26.04 and UBI 8.10/9.8/10.2 across both Python
runtimes: 44 stages; 428 offline tests per runtime/OS, zero offline skips;
19 deployed-archive comparisons per combination. Three six-node topology runs
pass all 30 recovery/failure scenarios. P4D 2023.1 through 2026.1 on UBI 8/9
pass all 14 cells and 98 scenarios. Static, documentation and provenance checks
pass. Containers do not certify every fleet kernel, patch build or integration.

Tested source manifest SHA-256:
e1a23e17b8ced8c1148d9a250589977c6f6e98606bf2a81dc3ff5d7c909e3695
Deployed comparison archive SHA-256:
1bd23217356ee3808e040d39aea5be9519bda7c8f2b4924656a70aff8ad7293a