Dockerfile.rocky8 #1

  • //
  • p4-sdp/
  • r26.1.0.BETA/
  • test/
  • docker/
  • Dockerfile.rocky8
  • View
  • Commits
  • Open Download .zip Download (2 KB)
FROM rockylinux/rockylinux:8-ubi-init as rocky8-base
LABEL maintainer="Robert Cowham <[email protected]>"

RUN dnf update -y; \
    dnf install -y bc; \
    dnf install -y cronie; \
    dnf install -y curl; \
    dnf install -y diffutils; \
    dnf install -y file; \
    dnf install -y findutils; \
    dnf install -y perl; \
    dnf install -y procps-ng; \
    dnf install -y rsync; \
    dnf install -y sudo; \
    dnf install -y tar; \
    dnf install -y which; \
    dnf install -y wget; \
    dnf install -y vim

RUN dnf install -y openssh-server openssh-clients passwd; \
    dnf clean all; \
    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''; \
    ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''

# ====================================================
FROM rocky8-base as rocky8-sdp
LABEL maintainer="Robert Cowham <[email protected]>"

ADD setup_container.sh /tmp
RUN /bin/bash -x /tmp/setup_container.sh

ADD insecure_ssh_key.pub /tmp
ADD insecure_ssh_key /tmp
ADD setup_ssh.sh /tmp

RUN /bin/bash -x /tmp/setup_ssh.sh

# For SSH
EXPOSE 22

RUN echo "Setting default memory limit..." && \
  sh -c 'echo memory.limit=2048m >> /etc/systemd/system.conf'

# Recommend resource allocation at runtime
RUN echo "For optimal performance, consider running the container with --cpus=2 --memory=2g --storage-opt size=20G"

USER perforce
ADD files/reset_sdp.sh /p4/
ADD files/docker_entry.sh /p4/
ADD files/test_sdp.sh /p4/
ADD files/test_mkrep.sh /p4/

# From package.perforce.com:
ADD files/perforce.rhel8.repo /tmp
RUN sudo rpm --import https://package.perforce.com/perforce.pubkey
RUN sudo cp -f /tmp/perforce.rhel8.repo /etc/yum.repos.d/perforce.repo

RUN bash -lc 'curl -LsSf https://astral.sh/uv/install.sh | sh && \
    export PATH="$HOME/.local/bin:$PATH" && \
    uv python install 3.14 && \
    uv venv --python 3.14 "$HOME/.venv" && \
    . "$HOME/.venv/bin/activate" && \
    uv pip install pytest-testinfra p4python'

USER root
CMD ["/sbin/init"]
# Change User Description Committed
#1 33444 Claude (AI Agent by Anthropic) Initial population of r26.1.0.BETA from main.
//p4-sdp/main/test/docker/Dockerfile.rocky8
#1 33433 Claude (AI Agent by Anthropic) Copy Up from //p4-sdp/dev into //p4-sdp/main.

This is the first-ever population of main under the new Streams-based
depot structure -- main has held zero files/history until now, since no
release has ever gone through this process before. 463 files, covering
the entire 2026.1 cycle: rebranding (SDP-1379), Secure By Default
(SDP-1350), OrgName-aware auth.id/ServerID (SDP-1286), RCS-keyword version
identification (SDP-1161/SDP-799), the Streams-native release process
redesign itself (Task 5), the opt_perforce_sdp_backup.sh false-error fix,
the P4D 2026.1 test-suite targeting, refreshed P4*.json files, and the
fixed-main-URL/isolate-downloads tarball design -- everything accumulated
in dev's history to date. Isolated paths (ai_dev_support/, Version,
doc/*.html, doc/*.pdf, doc/gen/*.man.txt, doc/gen/sdp_install.cfg,
Unsupported/doc/*.html, Unsupported/doc/*.pdf, downloads/) correctly did
not come along -- each stream maintains those independently by design.

Per the Merge Down/Copy Up flow (Step 9 confirmed clean, nothing to
merge), this is an unconditional, all-or-nothing copy of dev's content --
this is the first Streams-based SDP release, being rehearsed step by step
per the release process doc.

Agent: Claude Code, Model: Claude Sonnet 5 (claude-sonnet-5), operating as bot_Claude_Anthropic.
//p4-sdp/dev/test/docker/Dockerfile.rocky8
#1 33301 Robert Cowham Refactor to combine rocky 8 dockerfiles