Skip to content

Commit 22a47f1

Browse files
committed
set correct user
1 parent d4f77d5 commit 22a47f1

File tree

13 files changed

+97
-22
lines changed

13 files changed

+97
-22
lines changed

.github/workflows/build_multi_arch_image.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,11 @@ jobs:
8282
8383
env:
8484
ARCHITECTURE: '${{ matrix.arch }}'
85-
DOCKER_TAG: '${{ inputs.docker_tag }}'
8685
CONTAINER_NAME: '${{ inputs.container_name }}'
86+
DOCKER_TAG: '${{ inputs.docker_tag }}'
8787
BASE_VERSION: ${{ inputs.docker_tag}}
8888
IMAGE_TAG: ":${{ inputs.docker_tag }}-${{ matrix.arch }}"
8989
BASE_FOLDER: "${{ inputs.base_folder }}"
90-
VSCODE_UID: "1001"
91-
VSCODE_GID: "1001"
9290
- name: Check docker vulnerabilities - json output
9391
uses: aquasecurity/trivy-action@c1824fd6edce30d7ab345a9989de00bbd46ef284
9492
with:

src/base/.devcontainer/Dockerfile

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,17 @@ ARG BASE_VERSION=latest
44
ARG TARGETARCH
55
ARG SCRIPTS_DIR=/usr/local/share/eps
66
ARG CONTAINER_NAME
7+
ARG DOCKER_TAG
8+
ARG BASE_VERSION
9+
ARG IMAGE_TAG
10+
11+
ENV BASE_VERSION=${BASE_VERSION}
712
ENV TARGETARCH=${TARGETARCH}
8-
ENV CONTAINER_NAME=${CONTAINER_NAME}
913
ENV SCRIPTS_DIR=${SCRIPTS_DIR}
14+
ENV CONTAINER_NAME=${CONTAINER_NAME}
15+
ENV DOCKER_TAG=${DOCKER_TAG}
1016
ENV BASE_VERSION=${BASE_VERSION}
17+
ENV IMAGE_TAG=${IMAGE_TAG}
1118

1219
LABEL org.opencontainers.image.source=https://github.com/NHSDigital/eps-devcontainers
1320
LABEL org.opencontainers.image.description="EPS base devcontainer"
@@ -26,3 +33,14 @@ COPY --chown=vscode:vscode .tool-versions /home/vscode/.tool-versions
2633
ENV PATH="/home/vscode/.asdf/shims/:$PATH"
2734
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
2835
RUN ./vscode_install.sh
36+
37+
USER root
38+
# store version info in VERSION.txt for reference
39+
RUN echo "[[ ${CONTAINER_NAME} ]]" > "${SCRIPTS_DIR}/VERSION.txt" && \
40+
echo "BASE_VERSION=${BASE_VERSION}" >> "${SCRIPTS_DIR}/VERSION.txt" && \
41+
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${SCRIPTS_DIR}/VERSION.txt" && \
42+
echo "IMAGE_TAG=${IMAGE_TAG}" >> "${SCRIPTS_DIR}/VERSION.txt" && \
43+
echo "" >> "${SCRIPTS_DIR}/VERSION.txt"
44+
45+
USER vscode
46+
WORKDIR /home/vscode

src/base/.devcontainer/devcontainer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
"build": {
77
"dockerfile": "Dockerfile",
88
"args": {
9-
"CONTAINER_NAME": "eps_devcontainer_base",
10-
"VSCODE_UID": "${localEnv:VSCODE_UID}",
11-
"VSCODE_GID": "${localEnv:VSCODE_GID}"
9+
"CONTAINER_NAME": "eps_devcontainer_${localEnv:CONTAINER_NAME}",
10+
"DOCKER_TAG": "${localEnv:DOCKER_TAG}",
11+
"BASE_VERSION": "${localEnv:BASE_VERSION}",
12+
"IMAGE_TAG": "${localEnv:IMAGE_TAG}"
1213
}
1314
},
1415
"runArgs": [

src/base/.devcontainer/scripts/root_install.sh

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,11 @@ mkdir -p /usr/share/secrets-scanner
6767
chmod 755 /usr/share/secrets-scanner
6868
curl -L https://raw.githubusercontent.com/NHSDigital/software-engineering-quality-framework/main/tools/nhsd-git-secrets/nhsd-rules-deny.txt -o /usr/share/secrets-scanner/nhsd-rules-deny.txt
6969

70-
# fix user and group ids for vscode user to match host, and ensure vscode owns their home directory
71-
requested_uid="${VSCODE_UID:-1000}"
72-
requested_gid="${VSCODE_GID:-1000}"
70+
# fix user and group ids for vscode user to be 1001 so it can be used by github actions
71+
requested_uid=1001
72+
requested_gid=1001
7373
current_uid="$(id -u vscode)"
7474
current_gid="$(id -g vscode)"
7575
if [ "${current_gid}" != "${requested_gid}" ]; then groupmod -g "${requested_gid}" vscode; fi
7676
if [ "${current_uid}" != "${requested_uid}" ]; then usermod -u "${requested_uid}" -g "${requested_gid}" vscode; fi
7777
chown -R vscode:vscode /home/vscode
78-
79-
# store base version in VERSION.txt for reference
80-
echo "VERSION=${BASE_VERSION}" > "${SCRIPTS_DIR}/VERSION.txt"

src/base/.devcontainer/scripts/vscode_install.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,3 @@ asdf plugin add yq https://github.com/sudermanjr/asdf-yq.git
2424
# install base asdf versions of common tools
2525
cd /home/vscode
2626
asdf install
27-
28-
# setup gitsecrets
29-
git-secrets --register-aws --global
30-
git-secrets --add-provider --global -- cat /usr/share/secrets-scanner/nhsd-rules-deny.txt

src/common/Dockerfile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,21 @@ ARG BASE_VERSION=latest
22

33
FROM ghcr.io/nhsdigital/eps-devcontainers/base:${BASE_VERSION}
44

5+
ARG BASE_VERSION=latest
6+
ARG TARGETARCH
7+
ARG SCRIPTS_DIR=/usr/local/share/eps
58
ARG CONTAINER_NAME
9+
ARG DOCKER_TAG
10+
ARG BASE_VERSION
11+
ARG IMAGE_TAG
12+
13+
ENV BASE_VERSION=${BASE_VERSION}
14+
ENV TARGETARCH=${TARGETARCH}
15+
ENV SCRIPTS_DIR=${SCRIPTS_DIR}
616
ENV CONTAINER_NAME=${CONTAINER_NAME}
17+
ENV DOCKER_TAG=${DOCKER_TAG}
18+
ENV BASE_VERSION=${BASE_VERSION}
19+
ENV IMAGE_TAG=${IMAGE_TAG}
720

821
LABEL org.opencontainers.image.source=https://github.com/NHSDigital/eps-devcontainers
922
LABEL org.opencontainers.image.description="EPS ${CONTAINER_NAME} devcontainer"
@@ -19,6 +32,17 @@ USER vscode
1932
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
2033
COPY .tool-versions /tmp/.tool-versions
2134
RUN cat /tmp/.tool-versions >> /home/vscode/.tool-versions
35+
ENV PATH="/home/vscode/.asdf/shims/:$PATH"
2236

2337
RUN ./vscode_install.sh
38+
39+
USER root
40+
# store version info in VERSION.txt for reference
41+
RUN echo "[[ ${CONTAINER_NAME} ]]" >> "${SCRIPTS_DIR}/VERSION.txt" && \
42+
echo "BASE_VERSION=${BASE_VERSION}" >> "${SCRIPTS_DIR}/VERSION.txt" && \
43+
echo "DOCKER_TAG=${DOCKER_TAG}" >> "${SCRIPTS_DIR}/VERSION.txt" && \
44+
echo "IMAGE_TAG=${IMAGE_TAG}" >> "${SCRIPTS_DIR}/VERSION.txt" && \
45+
echo "" >> "${SCRIPTS_DIR}/VERSION.txt"
46+
47+
USER vscode
2448
WORKDIR /home/vscode

src/languages/node_24_python_3_12/.devcontainer/devcontainer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
"build": {
77
"dockerfile": "../../../common/Dockerfile",
88
"args": {
9+
"CONTAINER_NAME": "eps_devcontainer_${localEnv:CONTAINER_NAME}",
10+
"DOCKER_TAG": "${localEnv:DOCKER_TAG}",
911
"BASE_VERSION": "${localEnv:BASE_VERSION}",
10-
"CONTAINER_NAME": "eps_devcontainer_node_24_python_3_13"
12+
"IMAGE_TAG": "${localEnv:IMAGE_TAG}"
1113
},
1214
"context": "."
1315
},

src/languages/node_24_python_3_13/.devcontainer/devcontainer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
"build": {
77
"dockerfile": "../../../common/Dockerfile",
88
"args": {
9+
"CONTAINER_NAME": "eps_devcontainer_${localEnv:CONTAINER_NAME}",
10+
"DOCKER_TAG": "${localEnv:DOCKER_TAG}",
911
"BASE_VERSION": "${localEnv:BASE_VERSION}",
10-
"CONTAINER_NAME": "eps_devcontainer_node_24_python_3_13"
12+
"IMAGE_TAG": "${localEnv:IMAGE_TAG}"
1113
},
1214
"context": "."
1315
},

src/languages/node_24_python_3_14/.devcontainer/devcontainer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
"build": {
77
"dockerfile": "../../../common/Dockerfile",
88
"args": {
9+
"CONTAINER_NAME": "eps_devcontainer_${localEnv:CONTAINER_NAME}",
10+
"DOCKER_TAG": "${localEnv:DOCKER_TAG}",
911
"BASE_VERSION": "${localEnv:BASE_VERSION}",
10-
"CONTAINER_NAME": "eps_devcontainer_node_24_python_3_14"
12+
"IMAGE_TAG": "${localEnv:IMAGE_TAG}"
1113
},
1214
"context": "."
1315
},
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
#!/usr/bin/env bash
22
set -e
3+
4+
# store version info in VERSION.txt for reference
5+
echo "VERSION=${BASE_VERSION}" > "${SCRIPTS_DIR}/VERSION.txt"
6+
echo "CONTAINER_NAME=${CONTAINER_NAME}" >> "${SCRIPTS_DIR}/VERSION.txt"

0 commit comments

Comments
 (0)