|
| 1 | +// For format details, see https://aka.ms/devcontainer.json. For config options, see the |
| 2 | +// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu |
1 | 3 | { |
2 | | - "name": "eps-devcontainers", |
3 | | - "build": { |
4 | | - "dockerfile": "Dockerfile", |
5 | | - "context": "..", |
6 | | - "args": { |
7 | | - "DOCKER_GID": "${env:DOCKER_GID:}", |
8 | | - "IMAGE_NAME": "node_24_python_3_14", |
9 | | - "IMAGE_VERSION": "v1.0.4", |
10 | | - "USER_UID": "${localEnv:USER_ID:}", |
11 | | - "USER_GID": "${localEnv:GROUP_ID:}" |
| 4 | + "name": "eps-devcontainers", |
| 5 | + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile |
| 6 | + "build": { |
| 7 | + "dockerfile": "Dockerfile", |
| 8 | + "context": "..", |
| 9 | + "args": {} |
12 | 10 | }, |
13 | | - "updateRemoteUserUID": false |
14 | | - }, |
15 | | - "postAttachCommand": "git-secrets --register-aws; git-secrets --add-provider -- cat /usr/share/secrets-scanner/nhsd-rules-deny.txt", |
16 | | - "mounts": [ |
17 | | - "source=${env:HOME}${env:USERPROFILE}/.aws,target=/home/vscode/.aws,type=bind", |
18 | | - "source=${env:HOME}${env:USERPROFILE}/.ssh,target=/home/vscode/.ssh,type=bind", |
19 | | - "source=${env:HOME}${env:USERPROFILE}/.gnupg,target=/home/vscode/.gnupg,type=bind", |
20 | | - "source=${env:HOME}${env:USERPROFILE}/.npmrc,target=/home/vscode/.npmrc,type=bind" |
21 | | - ], |
22 | | - "runArgs": [ |
23 | | - "--network=host" |
24 | | - ], |
25 | | - "remoteEnv": { |
26 | | - "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" |
27 | | - }, |
28 | | - "features": {}, |
29 | | - "customizations": { |
30 | | - "vscode": { |
31 | | - "extensions": [ |
32 | | - "AmazonWebServices.aws-toolkit-vscode", |
33 | | - "redhat.vscode-yaml", |
34 | | - "ms-python.python", |
35 | | - "ms-python.flake8", |
36 | | - "eamodio.gitlens", |
37 | | - "github.vscode-pull-request-github", |
38 | | - "orta.vscode-jest", |
39 | | - "42crunch.vscode-openapi", |
40 | | - "mermade.openapi-lint", |
41 | | - "christian-kohler.npm-intellisense", |
42 | | - "dbaeumer.vscode-eslint", |
43 | | - "lfm.vscode-makefile-term", |
44 | | - "GrapeCity.gc-excelviewer", |
45 | | - "redhat.vscode-xml", |
46 | | - "streetsidesoftware.code-spell-checker", |
47 | | - "timonwong.shellcheck", |
48 | | - "mkhl.direnv", |
49 | | - "github.vscode-github-actions", |
50 | | - "Gruntfuggly.todo-tree", |
51 | | - "ms-vscode.makefile-tools" |
52 | | - ], |
53 | | - "settings": { |
54 | | - "python.defaultInterpreterPath": "/workspaces/eps-devcontainers/.venv/bin/python", |
55 | | - "python.analysis.autoSearchPaths": true, |
56 | | - "python.analysis.extraPaths": [], |
57 | | - "python.testing.unittestEnabled": false, |
58 | | - "python.testing.pytestEnabled": true, |
59 | | - "pylint.enabled": false, |
60 | | - "python.linting.flake8Enabled": true, |
61 | | - "python.linting.enabled": true, |
62 | | - "editor.formatOnPaste": false, |
63 | | - "editor.formatOnType": false, |
64 | | - "editor.formatOnSave": true, |
65 | | - "editor.formatOnSaveMode": "file", |
66 | | - "cSpell.words": [ |
67 | | - "fhir", |
68 | | - "Formik", |
69 | | - "pino", |
70 | | - "serialisation" |
71 | | - ], |
72 | | - "editor.defaultFormatter": "dbaeumer.vscode-eslint" |
| 11 | + "mounts": [ |
| 12 | + "source=${env:HOME}${env:USERPROFILE}/.aws,target=/home/vscode/.aws,type=bind", |
| 13 | + "source=${env:HOME}${env:USERPROFILE}/.ssh,target=/home/vscode/.ssh,type=bind", |
| 14 | + "source=${env:HOME}${env:USERPROFILE}/.gnupg,target=/home/vscode/.gnupg,type=bind", |
| 15 | + "source=${env:HOME}${env:USERPROFILE}/.npmrc,target=/home/vscode/.npmrc,type=bind" |
| 16 | + ], |
| 17 | + "runArgs": [ |
| 18 | + "--network=host" |
| 19 | + ], |
| 20 | + "remoteEnv": { "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" }, |
| 21 | + "postAttachCommand": "docker build -f https://raw.githubusercontent.com/NHSDigital/eps-workflow-quality-checks/refs/tags/v4.0.4/dockerfiles/nhsd-git-secrets.dockerfile -t git-secrets . && poetry run pre-commit install --install-hooks -f", |
| 22 | + "features": { |
| 23 | + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": { |
| 24 | + "version": "latest", |
| 25 | + "moby": "true", |
| 26 | + "installDockerBuildx": "true" |
73 | 27 | }, |
74 | | - "eslint.useFlatConfig": true, |
75 | | - "eslint.format.enable": true |
76 | | - } |
77 | | - }, |
78 | | - "postCreateCommand": "rm -f ~/.docker/config.json; git config --global --add safe.directory /workspaces/eps-devcontainers; make install; direnv allow ." |
79 | | -} |
| 28 | + "ghcr.io/devcontainers/features/github-cli:1": {} |
| 29 | + }, |
| 30 | + "customizations": { |
| 31 | + "vscode": { |
| 32 | + "extensions": [ |
| 33 | + "AmazonWebServices.aws-toolkit-vscode", |
| 34 | + "redhat.vscode-yaml", |
| 35 | + "ms-python.python", |
| 36 | + "ms-python.flake8", |
| 37 | + "eamodio.gitlens", |
| 38 | + "github.vscode-pull-request-github", |
| 39 | + "orta.vscode-jest", |
| 40 | + "42crunch.vscode-openapi", |
| 41 | + "mermade.openapi-lint", |
| 42 | + "christian-kohler.npm-intellisense", |
| 43 | + "dbaeumer.vscode-eslint", |
| 44 | + "lfm.vscode-makefile-term", |
| 45 | + "GrapeCity.gc-excelviewer", |
| 46 | + "redhat.vscode-xml", |
| 47 | + "streetsidesoftware.code-spell-checker", |
| 48 | + "timonwong.shellcheck", |
| 49 | + "mkhl.direnv", |
| 50 | + "github.vscode-github-actions", |
| 51 | + "Gruntfuggly.todo-tree", |
| 52 | + "ms-vscode.makefile-tools" |
| 53 | + ], |
| 54 | + "settings": { |
| 55 | + "python.defaultInterpreterPath": "/workspaces/eps-devcontainers/.venv/bin/python", |
| 56 | + "python.analysis.autoSearchPaths": true, |
| 57 | + "python.analysis.extraPaths": [], |
| 58 | + "python.testing.unittestEnabled": false, |
| 59 | + "python.testing.pytestEnabled": true, |
| 60 | + "pylint.enabled": false, |
| 61 | + "python.linting.flake8Enabled": true, |
| 62 | + "python.linting.enabled": true, // required to format on save |
| 63 | + "editor.formatOnPaste": false, // required |
| 64 | + "editor.formatOnType": false, // required |
| 65 | + "editor.formatOnSave": true, // optional |
| 66 | + "editor.formatOnSaveMode": "file", |
| 67 | + "cSpell.words": ["fhir", "Formik", "pino", "serialisation"], |
| 68 | + "editor.defaultFormatter": "dbaeumer.vscode-eslint" |
| 69 | + |
| 70 | + }, |
| 71 | + "eslint.useFlatConfig": true, |
| 72 | + "eslint.format.enable": true |
| 73 | + } |
| 74 | + }, |
| 75 | + "postCreateCommand": "rm -f ~/.docker/config.json; git config --global --add safe.directory /workspaces/eps-devcontainers; make install; direnv allow ." |
| 76 | + // "features": {}, |
| 77 | + // Use 'forwardPorts' to make a list of ports inside the container available locally. |
| 78 | + // "forwardPorts": [], |
| 79 | + // Use 'postCreateCommand' to run commands after the container is created. |
| 80 | + // "postCreateCommand": "" |
| 81 | + // Configure tool-specific properties. |
| 82 | + // "customizations": {}, |
| 83 | + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. |
| 84 | + // "remoteUser": "root" |
| 85 | + } |
| 86 | + |
0 commit comments