diff --git a/devfile.yaml b/devfile.yaml index 7a7461d1..594026d2 100644 --- a/devfile.yaml +++ b/devfile.yaml @@ -12,6 +12,8 @@ components: env: - name: "ANSIBLE_COLLECTIONS_PATH" value: "~/.ansible/collections:/usr/share/ansible/collections:/projects/ansible-devspaces-demo/collections" + - name: "ADT_CONTAINER_ENGINE" + value: "podman" commands: - id: molecule-create exec: diff --git a/devspaces/Containerfile b/devspaces/Containerfile index a3aa32d1..51f958d8 100644 --- a/devspaces/Containerfile +++ b/devspaces/Containerfile @@ -16,7 +16,8 @@ RUN --mount=type=bind,target=. --mount=type=cache,dst=/var/cache/dnf --mount=typ ENV BUILDAH_ISOLATION=chroot -USER 10001 +# Reflect the UID that the SCC will force the workspace to run as. +USER 1000 ENTRYPOINT ["/entrypoint.sh"] CMD ["tail", "-f", "/dev/null"] diff --git a/devspaces/context/setup.sh b/devspaces/context/setup.sh index 0d73ad6b..6d0780ee 100755 --- a/devspaces/context/setup.sh +++ b/devspaces/context/setup.sh @@ -49,6 +49,16 @@ setcap cap_setuid+ep /usr/bin/newuidmap setcap cap_setgid+ep /usr/bin/newgidmap touch /etc/subgid /etc/subuid chown 0:0 /etc/subgid /etc/subuid +# Remove the base image entries for user +if id user >/dev/null 2>&1 +then + userdel user + # Add the user with the UID that the SCC will enforce + useradd -u 1000 -G wheel,root -d /home/user --shell /bin/bash -m user + usermod -L user + chmod 400 /etc/shadow + chown -R user /home/user +fi if [[ "${ENABLE_NOPASSWD_SUDO:-false}" == "true" ]]; then echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/wheel-nopasswd