|
| 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