Skip to content

Commit 88d13bd

Browse files
codespaces version of loaded.
1 parent 0845624 commit 88d13bd

File tree

7 files changed

+163
-3
lines changed

7 files changed

+163
-3
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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
6+
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 LOADED_LOCAL_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: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"name": "NHS Notify ${localEnv:CONTAINER_NAME} Developer Container",
3+
"build": {
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+
}
11+
},
12+
"postCreateCommand": "echo ${localEnv:CONTAINER_NAME} Created",
13+
"postStartCommand": "echo ${localEnv:CONTAINER_NAME} Started",
14+
"features": {
15+
"ghcr.io/nhsdigital/nhs-notify-devcontainers/nhsnotify:1.0.24": {}
16+
},
17+
"runArgs": [
18+
"--platform=linux/amd64"
19+
],
20+
"forwardPorts": [
21+
4000
22+
],
23+
"remoteUser": "vscode",
24+
"containerEnv": {
25+
"UPDATEFROMTEMPLATE": "true",
26+
"SHOWWELCOME": "true",
27+
"MAKECONFIG": "true",
28+
"GITHUBMONITOR": "true"
29+
},
30+
"initializeCommand": "touch $HOME/.gitconfig || true && mkdir -p $HOME/.aws || true && mkdir -p $HOME/.gnupg || true && mkdir -p $HOME/.ssh || true",
31+
"mounts": [
32+
{
33+
"source": "/usr/local/share/ca-certificates",
34+
"target": "/home/ca-certificates",
35+
"type": "bind"
36+
},
37+
{
38+
"source": "${localEnv:HOME}/.aws",
39+
"target": "/home/vscode/.aws",
40+
"type": "bind"
41+
},
42+
{
43+
"source": "${localEnv:HOME}/.gitconfig",
44+
"target": "/home/vscode/.gitconfig",
45+
"type": "bind"
46+
},
47+
{
48+
"source": "${localEnv:HOME}/.gnupg",
49+
"target": "/home/vscode/.gnupg",
50+
"type": "bind"
51+
},
52+
{
53+
"source": "${localEnv:HOME}/.ssh",
54+
"target": "/home/vscode/.ssh",
55+
"type": "bind"
56+
}
57+
],
58+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
echo "Starting NHS Notify loaded local container installation script"
4+
5+
echo "Finished NHS Notify loaded local container installation script"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
CONTAINER_PREFIX=ghcr.io/nhsdigital/nhs-notify-devcontainer-
2+
CONTAINER_NAME=loaded-local
3+
BASE_CONTAINER_PREFIX=$(CONTAINER_PREFIX)
4+
BASE_CONTAINER_NAME=loaded
5+
BASE_IMAGE_TAG=latest
6+
IMAGE_NAME=${CONTAINER_PREFIX}$(CONTAINER_NAME)
7+
WORKSPACE_FOLDER=.
8+
9+
build:
10+
npm install -g @devcontainers/cli && \
11+
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) \
16+
devcontainer build \
17+
--push false \
18+
--workspace-folder $(WORKSPACE_FOLDER) \
19+
--image-name "$(IMAGE_NAME)" \
20+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
21+
22+
build_no_cache:
23+
npm install -g @devcontainers/cli && \
24+
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) \
29+
devcontainer build \
30+
--push false \
31+
--workspace-folder $(WORKSPACE_FOLDER) \
32+
--image-name "$(IMAGE_NAME)" \
33+
--no-cache \
34+
--label "devcontainer.metadata=[{\"containerEnv\": { \"NOTIFY_USE_$(CONTAINER_NAME)\": \"true\" }}]"
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Loaded
2+
3+
Environment variables to control post create / post start:
4+
5+
```json
6+
{
7+
"containerEnv": {
8+
"UPDATEFROMTEMPLATE": "true",
9+
"SHOWWELCOME": "true",
10+
"MAKECONFIG": "true",
11+
"GITHUBMONITOR": "true"
12+
}
13+
}
14+
```

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

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
},
1212
"postCreateCommand": "echo ${localEnv:CONTAINER_NAME} Created",
1313
"postStartCommand": "echo ${localEnv:CONTAINER_NAME} Started",
14-
1514
"features": {
1615
"ghcr.io/nhsdigital/nhs-notify-devcontainers/nhsnotify:1.0.24": {}
1716
},
@@ -28,5 +27,32 @@
2827
"MAKECONFIG": "true",
2928
"GITHUBMONITOR": "true"
3029
},
31-
"initializeCommand": "touch $HOME/.gitconfig || true && mkdir -p $HOME/.aws || true && mkdir -p $HOME/.gnupg || true && mkdir -p $HOME/.ssh || true"
30+
"initializeCommand": "touch $HOME/.gitconfig || true && mkdir -p $HOME/.aws || true && mkdir -p $HOME/.gnupg || true && mkdir -p $HOME/.ssh || true",
31+
"mounts": [
32+
{
33+
"source": "/usr/local/share/ca-certificates",
34+
"target": "/home/ca-certificates",
35+
"type": "bind"
36+
},
37+
{
38+
"source": "${localEnv:HOME}/.aws",
39+
"target": "/home/vscode/.aws",
40+
"type": "bind"
41+
},
42+
{
43+
"source": "${localEnv:HOME}/.gitconfig",
44+
"target": "/home/vscode/.gitconfig",
45+
"type": "bind"
46+
},
47+
{
48+
"source": "${localEnv:HOME}/.gnupg",
49+
"target": "/home/vscode/.gnupg",
50+
"type": "bind"
51+
},
52+
{
53+
"source": "${localEnv:HOME}/.ssh",
54+
"target": "/home/vscode/.ssh",
55+
"type": "bind"
56+
}
57+
],
3258
}

src/devcontainers/loaded/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CONTAINER_PREFIX=ghcr.io/nhsdigital/nhs-notify-devcontainer-
22
CONTAINER_NAME=loaded
33
BASE_CONTAINER_PREFIX=$(CONTAINER_PREFIX)
4-
BASE_CONTAINER_NAME=default
4+
BASE_CONTAINER_NAME=loaded-codespaces
55
BASE_IMAGE_TAG=latest
66
IMAGE_NAME=${CONTAINER_PREFIX}$(CONTAINER_NAME)
77
WORKSPACE_FOLDER=.

0 commit comments

Comments
 (0)