Skip to content

Commit b6c3ee3

Browse files
committed
add initial v2 services with aws sdk
1 parent 823fd1b commit b6c3ee3

File tree

21 files changed

+12272
-15
lines changed

21 files changed

+12272
-15
lines changed

.vscode/launch.json

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,64 @@
55
"version": "0.2.0",
66
"configurations": [
77
{
8-
"name": "boogers",
8+
"name": "backend-for-frontend-local",
99
"type": "node",
1010
"request": "launch",
11-
"cwd": "${workspaceRoot}/services/meminator",
11+
"cwd": "${workspaceRoot}/services/backend-for-frontend-nodejs",
1212
"runtimeArgs": [
1313
"-r",
1414
"ts-node/register"
1515
],
16+
"args": ["${workspaceRoot}/services/backend-for-frontend-nodejs/src/index.ts"]
17+
},
18+
{
19+
"name": "image-picker-local",
20+
"type": "node",
21+
"request": "launch",
22+
"cwd": "${workspaceRoot}/services/image-picker-v2-nodejs",
23+
"runtimeArgs": [
24+
"-r",
25+
"ts-node/register"
26+
],
27+
"env": {
28+
"PORT": "10115"
29+
},
30+
"args": ["${workspaceRoot}/services/image-picker-v2-nodejs/src/index.ts"]
31+
},
32+
{
33+
"name": "phrase-picker-local",
34+
"type": "node",
35+
"request": "launch",
36+
"cwd": "${workspaceRoot}/services/phrase-picker-nodejs",
37+
"runtimeArgs": [
38+
"-r",
39+
"ts-node/register"
40+
],
41+
"args": ["${workspaceRoot}/services/phrase-picker-nodejs/src/index.ts"]
42+
},
43+
{
44+
"name": "meminator-local",
45+
"type": "node",
46+
"request": "launch",
47+
"cwd": "${workspaceRoot}/services/meminator-v2-nodejs",
48+
"runtimeArgs": [
49+
"-r",
50+
"ts-node/register"
51+
],
52+
"env": {
53+
"PORT": "10117"
54+
},
1655
"args": [
17-
"${workspaceRoot}/services/meminator/src/index.ts"
56+
"${workspaceRoot}/services/meminator-v2-nodejs/src/index.ts"
1857
]
19-
}
58+
},
2059
],
60+
"compounds": [
61+
{
62+
"name": "Local Backend",
63+
"configurations": ["backend-for-frontend-local", "image-picker-local", "phrase-picker-local", "meminator-local"],
64+
"preLaunchTask": "${defaultBuildTask}",
65+
"stopAll": true
66+
}
67+
]
2168
}

docker-compose-v2.yaml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
version: '3'
2+
3+
services:
4+
backend-for-frontend:
5+
build:
6+
context: services/backend-for-frontend-${PROGRAMMING_LANGUAGE}
7+
dockerfile: Dockerfile
8+
# platforms:
9+
# # this is useful for pushing to Dockerhub, not for local builds
10+
# - linux/amd64
11+
# - linux/arm64
12+
cache_from:
13+
- ${IMAGE_REPO_USER}/backend-for-frontend-${PROGRAMMING_LANGUAGE}:${IMAGE_VERSION}
14+
image: ${IMAGE_REPO_USER}/backend-for-frontend-${PROGRAMMING_LANGUAGE}:${WORKSHOP_VERSION}
15+
ports:
16+
- "10115:10114" # Expose the port your Express app is listening on
17+
environment:
18+
- OTEL_EXPORTER_OTLP_ENDPOINT
19+
- OTEL_EXPORTER_OTLP_HEADERS
20+
- OTEL_SERVICE_NAME=backend-for-frontend-${PROGRAMMING_LANGUAGE}
21+
22+
meminator:
23+
build:
24+
context: services/meminator-v2-${PROGRAMMING_LANGUAGE}
25+
dockerfile: Dockerfile
26+
# platforms:
27+
# - linux/amd64
28+
# - linux/arm64
29+
cache_from:
30+
- ${IMAGE_REPO_USER}/meminator-${PROGRAMMING_LANGUAGE}:${IMAGE_VERSION}
31+
image: ${IMAGE_REPO_USER}/meminator-${PROGRAMMING_LANGUAGE}:${WORKSHOP_VERSION}
32+
ports:
33+
- "10116:10114" # they can't be the same
34+
environment:
35+
- OTEL_EXPORTER_OTLP_ENDPOINT
36+
- OTEL_EXPORTER_OTLP_HEADERS
37+
- OTEL_SERVICE_NAME=meminator-${PROGRAMMING_LANGUAGE}
38+
- AWS_ACCESS_KEY_ID
39+
- AWS_SECRET_ACCESS_KEY
40+
41+
phrase-picker:
42+
build:
43+
context: services/phrase-picker-${PROGRAMMING_LANGUAGE}
44+
dockerfile: Dockerfile
45+
# platforms:
46+
# - linux/amd64
47+
# - linux/arm64
48+
cache_from:
49+
- ${IMAGE_REPO_USER}/phrase-picker-${PROGRAMMING_LANGUAGE}:${IMAGE_VERSION}
50+
image: ${IMAGE_REPO_USER}/phrase-picker-${PROGRAMMING_LANGUAGE}:${WORKSHOP_VERSION}
51+
ports:
52+
- "10117:10114" # the outer ports can't be the same
53+
environment:
54+
- OTEL_EXPORTER_OTLP_ENDPOINT
55+
- OTEL_EXPORTER_OTLP_HEADERS
56+
- OTEL_SERVICE_NAME=phrase-picker-${PROGRAMMING_LANGUAGE}
57+
58+
image-picker:
59+
build:
60+
context: services/image-picker-v2-${PROGRAMMING_LANGUAGE}
61+
dockerfile: Dockerfile
62+
# platforms:
63+
# - linux/amd64
64+
# - linux/arm64
65+
cache_from:
66+
- ${IMAGE_REPO_USER}/image-picker-${PROGRAMMING_LANGUAGE}:${IMAGE_VERSION}
67+
image: ${IMAGE_REPO_USER}/image-picker-${PROGRAMMING_LANGUAGE}:${WORKSHOP_VERSION}
68+
ports:
69+
- "10118:10114" # the outer ports can't be the same
70+
environment:
71+
- OTEL_EXPORTER_OTLP_ENDPOINT
72+
- OTEL_EXPORTER_OTLP_HEADERS
73+
- OTEL_SERVICE_NAME=image-picker-${PROGRAMMING_LANGUAGE}
74+
- AWS_ACCESS_KEY_ID
75+
- AWS_SECRET_ACCESS_KEY
76+
77+
web:
78+
build:
79+
context: services/web
80+
dockerfile: Dockerfile
81+
args:
82+
HONEYCOMB_API_KEY: ${HONEYCOMB_API_KEY}
83+
# platforms:
84+
# - linux/amd64
85+
# - linux/arm64
86+
cache_from:
87+
- ${IMAGE_REPO_USER}/web:${IMAGE_VERSION}
88+
image: ${IMAGE_REPO_USER}/web:${WORKSHOP_VERSION}
89+
# volumes: # uncomment this for faster development on the frontend
90+
# - ./services/web/dist:/usr/share/nginx/html # Mount directory containing static files -- only do this for development
91+
ports:
92+
- "8080:80" # Expose port 8080 for Nginx
93+
94+
otel-collector:
95+
image: otel/opentelemetry-collector-contrib:0.96.0
96+
ports:
97+
- "4317:4317" # OpenTelemetry gRPC
98+
- "4318:4318" # OpenTelemetry HTTP
99+
volumes:
100+
- ./services/otel-collector/otel-collector-config.yaml:/etc/otel-collector-config.yaml
101+
command: [ "--config=/etc/otel-collector-config.yaml" ]
102+
environment:
103+
- HONEYCOMB_API_KEY

0 commit comments

Comments
 (0)