Skip to content

Commit 2b6b3e6

Browse files
committed
Blueprint dev container
1 parent bd0e68b commit 2b6b3e6

File tree

6 files changed

+316
-0
lines changed

6 files changed

+316
-0
lines changed

blueprint/.devcontainer/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
home

blueprint/.devcontainer/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FROM gcr.io/metacellllc/cloud-harness/dev-container:latest
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"name": "My Project Development",
3+
"build": {
4+
"context": "..",
5+
"dockerfile": "./Dockerfile"
6+
},
7+
"workspaceFolder": "/workspace",
8+
"shutdownAction": "none",
9+
"runArgs": [
10+
"--name=myproject-dev",
11+
"--user=root",
12+
"--network=host"
13+
],
14+
"containerEnv": {
15+
"PYTHONPATH": "/cloudharness:/workspace/cloud-harness/libraries/models:/workspace/cloud-harness/libraries/cloudharness-utils:/workspace/cloud-harness/libraries/cloudharness-common:/workspace/cloud-harness/libraries/client/cloudharness_cli:/workspace/tools/deployment-cli-tools",
16+
"DOCKER_HOST": "unix:///var/run/docker.sock",
17+
"KUBECONFIG": "/root/.kube-container/config"
18+
},
19+
"mounts": [
20+
"source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
21+
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind",
22+
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.docker,target=/root/.docker,type=bind,readonly",
23+
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.kube,target=/root/.kube,type=bind,readonly",
24+
"source=${localWorkspaceFolder}/.devcontainer/home,target=/root,type=bind",
25+
"source=${localWorkspaceFolder}/.devcontainer/vscode,target=/workspace/.vscode,type=bind"
26+
],
27+
"forwardPorts": [3000, 5000, 8000, 8100, 9000, 9100, 9200],
28+
"postCreateCommand": "bash /workspace/.devcontainer/post-create.sh",
29+
"customizations": {
30+
"vscode": {
31+
"settings": {
32+
"terminal.integrated.defaultProfile.linux": "bash",
33+
"python.defaultInterpreterPath": "/root/.local/venv/bin/python",
34+
"python.terminal.activateEnvironment": true,
35+
"python.terminal.activateEnvInCurrentTerminal": true,
36+
"terminal.integrated.shellIntegration.enabled": true,
37+
"extensions.autoUpdate": false,
38+
"extensions.autoCheckUpdates": false,
39+
"python.analysis.extraPaths": [
40+
"/root/.local/venv/lib/python3.12/site-packages",
41+
"/workspace/cloud-harness/libraries/models",
42+
"/workspace/cloud-harness/libraries/cloudharness-utils",
43+
"/workspace/cloud-harness/libraries/cloudharness-common",
44+
"/workspace/cloud-harness/libraries/client/cloudharness_cli",
45+
"/workspace/tools/deployment-cli-tools"
46+
]
47+
},
48+
"extensions": [
49+
"ms-python.python",
50+
"ms-python.autopep8",
51+
"ms-python.pylint",
52+
"ms-python.python-extension-pack",
53+
"KevinRose.vsc-python-indent",
54+
"dbaeumer.vscode-eslint",
55+
"github.copilot",
56+
"redhat.vscode-yaml",
57+
"ms-vscode.vscode-json",
58+
"ms-kubernetes-tools.vscode-kubernetes-tools"
59+
]
60+
}
61+
},
62+
"remoteUser": "root",
63+
"updateContentCommand": "echo 'Container updated'"
64+
}
Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
{
2+
"configurations": [
3+
{
4+
"console": "integratedTerminal",
5+
"cwd": "${file}",
6+
"name": "Python Debugger: Current File",
7+
"program": "${file}",
8+
"request": "launch",
9+
"type": "debugpy"
10+
},
11+
{
12+
"console": "integratedTerminal",
13+
"cwd": "${workspaceFolder}/applications/myapp/backend",
14+
"env": {
15+
"ACCOUNTS_ADMIN_PASSWORD": "metacell",
16+
"ACCOUNTS_ADMIN_USERNAME": "admin",
17+
"CH_CURRENT_APP_NAME": "myapp",
18+
"CH_VALUES_PATH": "${workspaceFolder}/deployment/helm/values.yaml",
19+
"DJANGO_SETTINGS_MODULE": "django_baseapp.settings",
20+
"KUBERNETES_SERVICE_HOST": "."
21+
},
22+
"justMyCode": true,
23+
"name": "Python: Current File",
24+
"program": "${file}",
25+
"request": "launch",
26+
"type": "debugpy"
27+
},
28+
{
29+
"args": [
30+
"cloud-harness",
31+
".",
32+
"-i",
33+
"myapp",
34+
"-d",
35+
"myapp.local",
36+
"-u",
37+
"-dtls",
38+
"-e",
39+
"prod-dev-test-local",
40+
"-l",
41+
"-n",
42+
"myproject"
43+
],
44+
"console": "integratedTerminal",
45+
"name": "Harness deployment local",
46+
"program": "cloud-harness/tools/deployment-cli-tools/harness-deployment",
47+
"request": "launch",
48+
"type": "python"
49+
},
50+
{
51+
"args": [
52+
"cloud-harness",
53+
".",
54+
"-i",
55+
"jupyterhub",
56+
"-d",
57+
"myapp.local",
58+
"-u",
59+
"-dtls",
60+
"-e",
61+
"dev-local",
62+
"-l",
63+
"-n",
64+
"myproject",
65+
"-t",
66+
"latest"
67+
],
68+
"console": "integratedTerminal",
69+
"name": "Harness deployment WS",
70+
"program": "cloud-harness/tools/deployment-cli-tools/harness-deployment",
71+
"request": "launch",
72+
"type": "python"
73+
},
74+
{
75+
"args": [
76+
"cloud-harness",
77+
".",
78+
"-i",
79+
"myapp",
80+
"-d",
81+
"myapp.local",
82+
"-dtls",
83+
"-e",
84+
"research-test-dev",
85+
"-l",
86+
"-n",
87+
"myapp"
88+
],
89+
"console": "integratedTerminal",
90+
"name": "test Harness deployment myapp",
91+
"program": "cloud-harness/tools/deployment-cli-tools/harness-deployment",
92+
"request": "launch",
93+
"type": "debugpy"
94+
},
95+
{
96+
"args": [
97+
"neuroglass_research.tests"
98+
],
99+
"console": "integratedTerminal",
100+
"cwd": "${workspaceFolder}/applications/myapp/backend",
101+
"env": {
102+
"CH_CURRENT_APP_NAME": "myapp",
103+
"CH_VALUES_PATH": "${workspaceFolder}/deployment/helm/values.yaml"
104+
},
105+
"justMyCode": false,
106+
"name": "Test",
107+
"program": "runtests.py",
108+
"request": "launch",
109+
"type": "debugpy"
110+
},
111+
{
112+
"args": [
113+
"createsuperuser"
114+
],
115+
"console": "integratedTerminal",
116+
"cwd": "${workspaceFolder}/applications/myapp/backend",
117+
"env": {
118+
"ACCOUNTS_ADMIN_PASSWORD": "metacell",
119+
"ACCOUNTS_ADMIN_USERNAME": "admin",
120+
"CH_CURRENT_APP_NAME": "myapp",
121+
"CH_VALUES_PATH": "${workspaceFolder}/deployment/helm/values.yaml",
122+
"DJANGO_SETTINGS_MODULE": "django_baseapp.settings",
123+
"KUBERNETES_SERVICE_HOST": "ssdds"
124+
},
125+
"justMyCode": false,
126+
"name": "Django superuser",
127+
"program": "manage.py",
128+
"request": "launch",
129+
"type": "debugpy"
130+
},
131+
{
132+
"args": [
133+
"cloud-harness",
134+
".",
135+
"-i",
136+
"myapp",
137+
"-d",
138+
"mnptest.dev.metacell.us",
139+
"-u",
140+
"-dtls",
141+
"-e",
142+
"dev",
143+
"-l",
144+
"-n",
145+
"mnptest",
146+
"-r",
147+
"us.gcr.io/metacellllc"
148+
],
149+
"console": "integratedTerminal",
150+
"name": "Harness deployment dev",
151+
"program": "cloud-harness/tools/deployment-cli-tools/harness-deployment",
152+
"request": "launch",
153+
"type": "python"
154+
},
155+
{
156+
"args": [
157+
"cloud-harness",
158+
".",
159+
"-i",
160+
"myapp",
161+
"-d",
162+
"myapp.metacell.us",
163+
"-u",
164+
"-dtls",
165+
"-e",
166+
"prod",
167+
"-l",
168+
"-n",
169+
"myproject",
170+
"-r",
171+
"us.gcr.io/metacellllc",
172+
"-t",
173+
"3.1.0"
174+
],
175+
"console": "integratedTerminal",
176+
"name": "Harness deployment prod",
177+
"program": "cloud-harness/tools/deployment-cli-tools/harness-deployment",
178+
"request": "launch",
179+
"type": "python"
180+
},
181+
{
182+
"args": [
183+
"cloud-harness",
184+
".",
185+
"-i",
186+
"myapp",
187+
"-d",
188+
"myapp.stage.metacell.us",
189+
"-u",
190+
"-dtls",
191+
"-e",
192+
"stage",
193+
"-l",
194+
"-n",
195+
"myproject",
196+
"-r",
197+
"us.gcr.io/metacellllc"
198+
],
199+
"console": "integratedTerminal",
200+
"name": "Harness deployment stage",
201+
"program": "cloud-harness/tools/deployment-cli-tools/harness-deployment",
202+
"request": "launch",
203+
"type": "python"
204+
},
205+
{
206+
"args": [
207+
"runserver"
208+
],
209+
"console": "integratedTerminal",
210+
"cwd": "${workspaceFolder}/applications/myapp/backend",
211+
"env": {
212+
"ACCOUNTS_ADMIN_PASSWORD": "metacell",
213+
"ACCOUNTS_ADMIN_USERNAME": "admin",
214+
"CH_CURRENT_APP_NAME": "myapp",
215+
"CH_VALUES_PATH": "${workspaceFolder}/deployment/helm/values.yaml",
216+
"DJANGO_SETTINGS_MODULE": "django_baseapp.settings",
217+
"KUBERNETES_SERVICE_HOST": "a"
218+
},
219+
"justMyCode": false,
220+
"name": "myapp django runserver",
221+
"program": "manage.py",
222+
"request": "launch",
223+
"type": "debugpy"
224+
}
225+
],
226+
"version": "0.2.0"
227+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"servers": {
3+
"figma mcp": {
4+
"url": "http://127.0.0.1:3845/mcp",
5+
"type": "http"
6+
}
7+
},
8+
"inputs": []
9+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
3+
"editor.formatOnSave": true,
4+
"javascript.format.enable": true,
5+
"eslint.format.enable": true,
6+
"eslint.workingDirectories": [{ "mode": "auto" }],
7+
"editor.codeActionsOnSave": {
8+
"source.fixAll.eslint": "explicit"
9+
},
10+
"[typescriptreact]": {
11+
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
12+
},
13+
"python.linting.lintOnSave": false,
14+
}

0 commit comments

Comments
 (0)