Skip to content

Commit c4eb66b

Browse files
plugins.
1 parent aba9d3b commit c4eb66b

File tree

11 files changed

+163
-44
lines changed

11 files changed

+163
-44
lines changed
Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
1-
FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04
1+
ARG BASE_CONTAINER_NAME
2+
ARG CONTAINER_NAME
3+
ARG BASE_IMAGE_TAG
4+
ARG BASE_CONTAINER_PREFIX
5+
ARG SCRIPTS_DIR=/usr/local/share/nhsnotify/
26

3-
COPY scripts /usr/local/share/nhsnotify/base
4-
WORKDIR /usr/local/share/nhsnotify/base
5-
RUN ./install.sh
7+
FROM ${BASE_CONTAINER_PREFIX}${BASE_CONTAINER_NAME}:${BASE_IMAGE_TAG}
8+
ARG BASE_CONTAINER_NAME
9+
ARG CONTAINER_NAME
10+
ARG BASE_IMAGE_TAG
11+
ARG BASE_CONTAINER_PREFIX
12+
ARG SCRIPTS_DIR
13+
14+
RUN test -n ${BASE_CONTAINER_NAME}
15+
RUN test -n ${CONTAINER_NAME}
16+
RUN test -n ${BASE_IMAGE_TAG}
17+
RUN test -n ${BASE_CONTAINER_PREFIX}
18+
19+
ENV BASE_IMAGE_TAG=${BASE_IMAGE_TAG}
20+
21+
COPY scripts ${SCRIPTS_DIR}/${CONTAINER_NAME}
22+
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
23+
RUN ./install.sh
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
{
2-
"name": "nhs-notify-devcontainer-base",
3-
"postCreateCommand": "echo Base Created",
4-
"postStartCommand": "echo Base Started",
2+
"name": "nhs-notify-devcontainer-${localEnv:CONTAINER_NAME}",
3+
"postCreateCommand": "echo ${localEnv:CONTAINER_NAME} Created",
4+
"postStartCommand": "echo ${localEnv:CONTAINER_NAME} Started",
55
"build": {
6-
"dockerfile": "Dockerfile"
6+
"dockerfile": "Dockerfile",
7+
"args": {
8+
"CONTAINER_NAME": "${localEnv:CONTAINER_NAME}",
9+
"BASE_CONTAINER_NAME": "${localEnv:BASE_CONTAINER_NAME}",
10+
"BASE_IMAGE_TAG": "${localEnv:BASE_IMAGE_TAG}",
11+
"BASE_CONTAINER_PREFIX": "${localEnv:BASE_CONTAINER_PREFIX}"
12+
}
713
},
814
"runArgs": [
915
"--platform=linux/amd64"
10-
]
16+
],
17+
"remoteUser": "vscode"
1118
}

src/devcontainers/base/Makefile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,34 @@
1-
IMAGE_NAME = ghcr.io/nhsdigital/nhs-notify-devcontainer-base
2-
WORKSPACE_FOLDER = .
1+
CONTAINER_PREFIX=ghcr.io/nhsdigital/nhs-notify-devcontainer-
2+
CONTAINER_NAME=base
3+
BASE_CONTAINER_PREFIX=mcr.microsoft.com/devcontainers/
4+
BASE_CONTAINER_NAME=base
5+
BASE_IMAGE_TAG=ubuntu-24.04
6+
IMAGE_NAME=${CONTAINER_PREFIX}$(CONTAINER_NAME)
7+
WORKSPACE_FOLDER=.
38

49
build:
510
npm install -g @devcontainers/cli && \
611
BUILDKIT_PROGRESS=plain \
12+
BASE_CONTAINER_NAME=$(BASE_CONTAINER_NAME) \
13+
CONTAINER_NAME=$(CONTAINER_NAME) \
14+
BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
15+
BASE_CONTAINER_PREFIX=$(BASE_CONTAINER_PREFIX) \
716
devcontainer build \
817
--push false \
918
--workspace-folder $(WORKSPACE_FOLDER) \
1019
--image-name "$(IMAGE_NAME)" \
11-
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_BASE\": \"true\" }}]"
20+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
1221

1322
build_no_cache:
1423
npm install -g @devcontainers/cli && \
1524
BUILDKIT_PROGRESS=plain \
25+
BASE_CONTAINER_NAME=$(BASE_CONTAINER_NAME) \
26+
CONTAINER_NAME=$(CONTAINER_NAME) \
27+
BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
28+
BASE_CONTAINER_PREFIX=$(BASE_CONTAINER_PREFIX) \
1629
devcontainer build \
1730
--push false \
1831
--workspace-folder $(WORKSPACE_FOLDER) \
1932
--image-name "$(IMAGE_NAME)" \
2033
--no-cache \
21-
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_BASE\": \"true\" }}]"
34+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
1-
FROM ghcr.io/nhsdigital/nhs-notify-devcontainer-base:latest
1+
ARG BASE_CONTAINER_NAME
2+
ARG CONTAINER_NAME
3+
ARG BASE_IMAGE_TAG
4+
ARG BASE_CONTAINER_PREFIX
5+
ARG SCRIPTS_DIR=/usr/local/share/nhsnotify/
26

3-
COPY scripts /usr/local/share/nhsnotify/default
4-
WORKDIR /usr/local/share/nhsnotify/default
5-
RUN ./install.sh
7+
FROM ${BASE_CONTAINER_PREFIX}${BASE_CONTAINER_NAME}:${BASE_IMAGE_TAG}
8+
ARG BASE_CONTAINER_NAME
9+
ARG CONTAINER_NAME
10+
ARG BASE_IMAGE_TAG
11+
ARG BASE_CONTAINER_PREFIX
12+
ARG SCRIPTS_DIR
13+
14+
RUN test -n ${BASE_CONTAINER_NAME}
15+
RUN test -n ${CONTAINER_NAME}
16+
RUN test -n ${BASE_IMAGE_TAG}
17+
RUN test -n ${BASE_CONTAINER_PREFIX}
18+
19+
ENV BASE_IMAGE_TAG=${BASE_IMAGE_TAG}
20+
21+
COPY scripts ${SCRIPTS_DIR}/${CONTAINER_NAME}
22+
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
23+
RUN ./install.sh

src/devcontainers/default/.devcontainer/devcontainer.json

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
{
2-
"name": "nhs-notify-devcontainer-default",
2+
"name": "nhs-notify-devcontainer-${localEnv:CONTAINER_NAME}",
33
"build": {
4-
"dockerfile": "Dockerfile"
4+
"dockerfile": "Dockerfile",
5+
"args": {
6+
"CONTAINER_NAME": "${localEnv:CONTAINER_NAME}",
7+
"BASE_CONTAINER_NAME": "${localEnv:BASE_CONTAINER_NAME}",
8+
"BASE_IMAGE_TAG": "${localEnv:BASE_IMAGE_TAG}",
9+
"BASE_CONTAINER_PREFIX": "${localEnv:BASE_CONTAINER_PREFIX}"
10+
}
511
},
6-
"postCreateCommand": "echo Default Created",
7-
"postStartCommand": "echo Default Started",
12+
"postCreateCommand": "echo ${localEnv:CONTAINER_NAME} Created",
13+
"postStartCommand": "echo ${localEnv:CONTAINER_NAME} Started",
814
"runArgs": [
915
"--platform=linux/amd64"
10-
]
11-
, "features": {
16+
],
17+
"remoteUser": "vscode",
18+
"features": {
1219
"ghcr.io/devcontainers/features/python:1.7.1": {
1320
"version": "3.13.8",
1421
"installTools": true
1522
},
23+
"ghcr.io/devcontainers-extra/features/zsh-plugins:0.0.5": {
24+
"omzPlugins": "https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-syntax-highlighting.git https://github.com/MichaelAquilina/zsh-you-should-use.git",
25+
"plugins": "git ssh-agent sudo terraform dirhistory docker asdf aws emoji you-should-use zsh-autosuggestions zsh-syntax-highlighting"
26+
},
1627
"ghcr.io/devcontainers/features/aws-cli:1.1.2": {
1728
"version": "2.31.18"
1829
},

src/devcontainers/default/Makefile

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,34 @@
1-
IMAGE_NAME = ghcr.io/nhsdigital/nhs-notify-devcontainer-default
2-
WORKSPACE_FOLDER = .
1+
CONTAINER_PREFIX=ghcr.io/nhsdigital/nhs-notify-devcontainer-
2+
CONTAINER_NAME=default
3+
BASE_CONTAINER_PREFIX=$(CONTAINER_PREFIX)
4+
BASE_CONTAINER_NAME=base
5+
BASE_IMAGE_TAG=latest
6+
IMAGE_NAME=${CONTAINER_PREFIX}$(CONTAINER_NAME)
7+
WORKSPACE_FOLDER=.
38

49
build:
510
npm install -g @devcontainers/cli && \
611
BUILDKIT_PROGRESS=plain \
12+
BASE_CONTAINER_NAME=$(BASE_CONTAINER_NAME) \
13+
CONTAINER_NAME=$(CONTAINER_NAME) \
14+
BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
15+
BASE_CONTAINER_PREFIX=$(BASE_CONTAINER_PREFIX) \
716
devcontainer build \
817
--push false \
918
--workspace-folder $(WORKSPACE_FOLDER) \
1019
--image-name "$(IMAGE_NAME)" \
11-
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_DEFAULT\": \"true\" }}]"
20+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
1221

1322
build_no_cache:
1423
npm install -g @devcontainers/cli && \
1524
BUILDKIT_PROGRESS=plain \
25+
BASE_CONTAINER_NAME=$(BASE_CONTAINER_NAME) \
26+
CONTAINER_NAME=$(CONTAINER_NAME) \
27+
BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
28+
BASE_CONTAINER_PREFIX=$(BASE_CONTAINER_PREFIX) \
1629
devcontainer build \
1730
--push false \
1831
--workspace-folder $(WORKSPACE_FOLDER) \
1932
--image-name "$(IMAGE_NAME)" \
2033
--no-cache \
21-
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_DEFAULT\": \"true\" }}]"
22-
34+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
1-
FROM ghcr.io/nhsdigital/nhs-notify-devcontainer-default:latest
1+
ARG BASE_CONTAINER_NAME
2+
ARG CONTAINER_NAME
3+
ARG BASE_IMAGE_TAG
4+
ARG BASE_CONTAINER_PREFIX
5+
ARG SCRIPTS_DIR=/usr/local/share/nhsnotify/
26

3-
COPY scripts /usr/local/share/nhsnotify/loaded
4-
WORKDIR /usr/local/share/nhsnotify/loaded
5-
RUN ./install.sh
7+
FROM ${BASE_CONTAINER_PREFIX}${BASE_CONTAINER_NAME}:${BASE_IMAGE_TAG}
8+
ARG BASE_CONTAINER_NAME
9+
ARG CONTAINER_NAME
10+
ARG BASE_IMAGE_TAG
11+
ARG BASE_CONTAINER_PREFIX
12+
ARG SCRIPTS_DIR
13+
14+
RUN test -n ${BASE_CONTAINER_NAME}
15+
RUN test -n ${CONTAINER_NAME}
16+
RUN test -n ${BASE_IMAGE_TAG}
17+
RUN test -n ${BASE_CONTAINER_PREFIX}
18+
19+
ENV BASE_IMAGE_TAG=${BASE_IMAGE_TAG}
20+
21+
COPY scripts ${SCRIPTS_DIR}/${CONTAINER_NAME}
22+
WORKDIR ${SCRIPTS_DIR}/${CONTAINER_NAME}
23+
RUN ./install.sh

src/devcontainers/loaded/.devcontainer/devcontainer.json

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
{
2-
"name": "NHS Notify Fully Loaded Developer Container",
2+
"name": "NHS Notify ${localEnv:CONTAINER_NAME} Developer Container",
33
"build": {
4-
"dockerfile": "Dockerfile"
4+
"dockerfile": "Dockerfile",
5+
"args": {
6+
"CONTAINER_NAME": "${localEnv:CONTAINER_NAME}",
7+
"BASE_CONTAINER_NAME": "${localEnv:BASE_CONTAINER_NAME}",
8+
"BASE_IMAGE_TAG": "${localEnv:BASE_IMAGE_TAG}",
9+
"BASE_CONTAINER_PREFIX": "${localEnv:BASE_CONTAINER_PREFIX}"
10+
}
511
},
6-
"postCreateCommand": "echo Loaded Created",
7-
"postStartCommand": "echo Loaded Started",
12+
"postCreateCommand": "echo ${localEnv:CONTAINER_NAME} Created",
13+
"postStartCommand": "echo ${localEnv:CONTAINER_NAME} Started",
14+
815
"features": {
9-
"ghcr.io/nhsdigital/nhs-notify-devcontainers/nhsnotify:1.0.19": {}
16+
"ghcr.io/nhsdigital/nhs-notify-devcontainers/nhsnotify:1.0.20": {}
1017
},
1118
"runArgs": [
1219
"--platform=linux/amd64"
1320
],
1421
"forwardPorts": [
1522
4000
1623
],
24+
"remoteUser": "vscode",
1725
"containerEnv": {
1826
"UPDATEFROMTEMPLATE": "true",
1927
"SHOWWELCOME": "true",

src/devcontainers/loaded/Makefile

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,34 @@
1-
IMAGE_NAME = ghcr.io/nhsdigital/nhs-notify-devcontainer-loaded
2-
WORKSPACE_FOLDER = .
1+
CONTAINER_PREFIX=ghcr.io/nhsdigital/nhs-notify-devcontainer-
2+
CONTAINER_NAME=loaded
3+
BASE_CONTAINER_PREFIX=$(CONTAINER_PREFIX)
4+
BASE_CONTAINER_NAME=default
5+
BASE_IMAGE_TAG=latest
6+
IMAGE_NAME=${CONTAINER_PREFIX}$(CONTAINER_NAME)
7+
WORKSPACE_FOLDER=.
38

49
build:
510
npm install -g @devcontainers/cli && \
611
BUILDKIT_PROGRESS=plain \
12+
BASE_CONTAINER_NAME=$(BASE_CONTAINER_NAME) \
13+
CONTAINER_NAME=$(CONTAINER_NAME) \
14+
BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
15+
BASE_CONTAINER_PREFIX=$(BASE_CONTAINER_PREFIX) \
716
devcontainer build \
817
--push false \
918
--workspace-folder $(WORKSPACE_FOLDER) \
1019
--image-name "$(IMAGE_NAME)" \
11-
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_LOADED\": \"true\" }}]"
20+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
1221

1322
build_no_cache:
1423
npm install -g @devcontainers/cli && \
1524
BUILDKIT_PROGRESS=plain \
25+
BASE_CONTAINER_NAME=$(BASE_CONTAINER_NAME) \
26+
CONTAINER_NAME=$(CONTAINER_NAME) \
27+
BASE_IMAGE_TAG=$(BASE_IMAGE_TAG) \
28+
BASE_CONTAINER_PREFIX=$(BASE_CONTAINER_PREFIX) \
1629
devcontainer build \
1730
--push false \
1831
--workspace-folder $(WORKSPACE_FOLDER) \
1932
--image-name "$(IMAGE_NAME)" \
2033
--no-cache \
21-
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_LOADED\": \"true\" }}]"
22-
34+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"

src/features/nhsnotify/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
},
88
"id": "nhsnotify",
99
"name": "NHS Notify",
10-
"version": "1.0.19",
10+
"version": "1.0.20",
1111
"dependsOn": {
1212
"ghcr.io/devcontainers/features/common-utils:2.5.4": {
1313
"configureZshAsDefaultShell": true,

0 commit comments

Comments
 (0)