|
| 1 | +FROM quay.io/fedora/fedora:41 |
| 2 | + |
| 3 | +ARG USER_HOME_DIR="/home/user" |
| 4 | +ARG WORK_DIR="/projects" |
| 5 | +ARG INSTALL_PACKAGES="procps-ng openssl git tar gzip zip xz unzip which shadow-utils bash zsh vi wget jq podman buildah skopeo podman-docker glibc-devel zlib-devel gcc libffi-devel libstdc++-devel gcc-c++ glibc-langpack-en ca-certificates python3-pip python3-devel fuse-overlayfs util-linux vim-minimal vim-enhanced dotnet-hostfxr-9.0 dotnet-runtime-9.0 dotnet-sdk-9.0" |
| 6 | + |
| 7 | +ENV HOME=${USER_HOME_DIR} |
| 8 | +ENV BUILDAH_ISOLATION=chroot |
| 9 | + |
| 10 | +COPY --chown=0:0 entrypoint.sh / |
| 11 | + |
| 12 | +RUN microdnf --disableplugin=subscription-manager install -y ${INSTALL_PACKAGES}; \ |
| 13 | + microdnf update -y ; \ |
| 14 | + microdnf clean all ; \ |
| 15 | + mkdir -p /usr/local/bin ; \ |
| 16 | + mkdir -p ${WORK_DIR} ; \ |
| 17 | + pip3 install -U podman-compose ; \ |
| 18 | + pip3 install -U cekit ; \ |
| 19 | + chgrp -R 0 /home ; \ |
| 20 | + chmod -R g=u /home ${WORK_DIR} ; \ |
| 21 | + chmod +x /entrypoint.sh ; \ |
| 22 | + chown 0:0 /etc/passwd ; \ |
| 23 | + chown 0:0 /etc/group ; \ |
| 24 | + chmod g=u /etc/passwd /etc/group ; \ |
| 25 | + # Setup for rootless podman |
| 26 | + setcap cap_setuid+ep /usr/bin/newuidmap ; \ |
| 27 | + setcap cap_setgid+ep /usr/bin/newgidmap ; \ |
| 28 | + touch /etc/subgid /etc/subuid ; \ |
| 29 | + chown 0:0 /etc/subgid ; \ |
| 30 | + chown 0:0 /etc/subuid ; \ |
| 31 | + chmod -R g=u /etc/subuid /etc/subgid ; \ |
| 32 | + # Create Sym Links for OpenShift CLI (Assumed to be retrieved by an init-container) |
| 33 | + ln -s /projects/bin/oc /usr/local/bin/oc ; \ |
| 34 | + ln -s /projects/bin/kubectl /usr/local/bin/kubectl |
| 35 | + |
| 36 | +USER 1000 |
| 37 | +WORKDIR ${WORK_DIR} |
| 38 | +ENTRYPOINT ["/usr/libexec/podman/catatonit","--","/entrypoint.sh"] |
| 39 | +CMD [ "tail", "-f", "/dev/null" ] |
0 commit comments