# This image is the base image for all s2i configurable container images. FROM registry.fedoraproject.org/fedora:rawhide ENV SUMMARY="Base image which allows using of source-to-image." \ DESCRIPTION="The s2i-core image provides any images layered on top of it \ with all the tools needed to use source-to-image functionality while keeping \ the image size as small as possible." \ NAME=s2i-core \ VERSION=0 \ ARCH=x86_64 LABEL summary="$SUMMARY" \ description="$DESCRIPTION" \ io.k8s.description="$DESCRIPTION" \ io.k8s.display-name="s2i core" \ io.openshift.s2i.scripts-url=image:///usr/libexec/s2i \ io.s2i.scripts-url=image:///usr/libexec/s2i \ com.redhat.component="$NAME" \ name="$FGC/$NAME" \ version="$VERSION" \ usage="This image is supposed to be used as a base image for other images that support source-to-image" \ maintainer="SoftwareCollections.org " ENV \ # DEPRECATED: Use above LABEL instead, because this will be removed in future versions. STI_SCRIPTS_URL=image:///usr/libexec/s2i \ # Path to be used in other layers to place s2i scripts into STI_SCRIPTS_PATH=/usr/libexec/s2i \ APP_ROOT=/opt/app-root \ # The $HOME is not set by default, but some applications needs this variable HOME=/opt/app-root/src \ PATH=/opt/app-root/src/bin:/opt/app-root/bin:$PATH \ PLATFORM="fedora" # This is the list of basic dependencies that all language container image can # consume. # Also setup the 'openshift' user that is used for the build execution and for the # application runtime execution. # TODO: Use better UID and GID values RUN INSTALL_PKGS="bsdtar \ findutils \ gettext \ groff-base \ tar \ unzip" && \ mkdir -p ${HOME}/.pki/nssdb && \ chown -R 1001:0 ${HOME}/.pki && \ dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \ rpm -V $INSTALL_PKGS && \ dnf clean all -y # Copy extra files to the image. COPY ./root/ / # Create a platform-python symlink if it does not exist already RUN [ -e /usr/libexec/platform-python ] || ln -s /usr/libexec/system-python /usr/libexec/platform-python # Directory with the sources is set as the working directory so all STI scripts # can execute relative to this path. WORKDIR ${HOME} ENTRYPOINT ["container-entrypoint"] CMD ["base-usage"] # Reset permissions of modified directories and add default user RUN rpm-file-permissions && \ useradd -u 1001 -r -g 0 -d ${HOME} -s /sbin/nologin \ -c "Default Application User" default && \ chown -R 1001:0 ${APP_ROOT}