205 lines
8.0 KiB
YAML
205 lines
8.0 KiB
YAML
services:
|
|
docker-compose-dashboard:
|
|
image: mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest
|
|
expose:
|
|
- "18888"
|
|
- "18889"
|
|
networks:
|
|
- aspire
|
|
restart: always
|
|
cache:
|
|
image: docker.io/library/redis:7.4
|
|
command:
|
|
- -c
|
|
- redis-server --requirepass $$REDIS_PASSWORD
|
|
entrypoint:
|
|
- /bin/sh
|
|
environment:
|
|
REDIS_PASSWORD: ${CACHE_PASSWORD}
|
|
expose:
|
|
- "6379"
|
|
networks:
|
|
- aspire
|
|
queue:
|
|
image: docker.io/library/nats:2.11
|
|
command:
|
|
- --user
|
|
- nats
|
|
- --pass
|
|
- ${QUEUE_PASSWORD}
|
|
- -js
|
|
expose:
|
|
- "4222"
|
|
networks:
|
|
- aspire
|
|
ring:
|
|
image: ${RING_IMAGE}
|
|
environment:
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
|
|
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
|
|
HTTP_PORTS: "8080"
|
|
HTTPS_PORTS: "7001"
|
|
ConnectionStrings__queue: nats://nats:${QUEUE_PASSWORD}@queue:4222
|
|
services__pass__http__0: http://pass:8080
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://docker-compose-dashboard:18889
|
|
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
|
OTEL_SERVICE_NAME: ring
|
|
services__pass__grpc__0: https://pass:5001
|
|
expose:
|
|
- "8080"
|
|
- "7001"
|
|
networks:
|
|
- aspire
|
|
pass:
|
|
image: ${PASS_IMAGE}
|
|
environment:
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
|
|
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
|
|
HTTP_PORTS: "8080"
|
|
HTTPS_PORTS: "7001"
|
|
ConnectionStrings__cache: cache:6379,password=${CACHE_PASSWORD}
|
|
ConnectionStrings__queue: nats://nats:${QUEUE_PASSWORD}@queue:4222
|
|
services__ring__http__0: http://ring:8080
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://docker-compose-dashboard:18889
|
|
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
|
OTEL_SERVICE_NAME: pass
|
|
services__ring__grpc__0: https://ring:5001
|
|
expose:
|
|
- "8080"
|
|
- "7001"
|
|
networks:
|
|
- aspire
|
|
drive:
|
|
image: ${DRIVE_IMAGE}
|
|
environment:
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
|
|
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
|
|
HTTP_PORTS: "8080"
|
|
HTTPS_PORTS: "7001"
|
|
ConnectionStrings__cache: cache:6379,password=${CACHE_PASSWORD}
|
|
ConnectionStrings__queue: nats://nats:${QUEUE_PASSWORD}@queue:4222
|
|
services__pass__http__0: http://pass:8080
|
|
services__ring__http__0: http://ring:8080
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://docker-compose-dashboard:18889
|
|
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
|
OTEL_SERVICE_NAME: drive
|
|
services__pass__grpc__0: https://pass:5001
|
|
services__ring__grpc__0: https://ring:5001
|
|
expose:
|
|
- "8080"
|
|
- "7001"
|
|
networks:
|
|
- aspire
|
|
sphere:
|
|
image: ${SPHERE_IMAGE}
|
|
environment:
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
|
|
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
|
|
HTTP_PORTS: "8080"
|
|
HTTPS_PORTS: "7001"
|
|
ConnectionStrings__cache: cache:6379,password=${CACHE_PASSWORD}
|
|
ConnectionStrings__queue: nats://nats:${QUEUE_PASSWORD}@queue:4222
|
|
services__pass__http__0: http://pass:8080
|
|
services__ring__http__0: http://ring:8080
|
|
services__drive__http__0: http://drive:8080
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://docker-compose-dashboard:18889
|
|
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
|
OTEL_SERVICE_NAME: sphere
|
|
services__pass__grpc__0: https://pass:5001
|
|
services__drive__grpc__0: https://drive:5001
|
|
services__ring__grpc__0: https://ring:5001
|
|
expose:
|
|
- "8080"
|
|
- "7001"
|
|
networks:
|
|
- aspire
|
|
develop:
|
|
image: ${DEVELOP_IMAGE}
|
|
environment:
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
|
|
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
|
|
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
|
|
HTTP_PORTS: "8080"
|
|
HTTPS_PORTS: "7001"
|
|
ConnectionStrings__cache: cache:6379,password=${CACHE_PASSWORD}
|
|
services__pass__http__0: http://pass:8080
|
|
services__ring__http__0: http://ring:8080
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://docker-compose-dashboard:18889
|
|
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
|
OTEL_SERVICE_NAME: develop
|
|
services__pass__grpc__0: https://pass:5001
|
|
services__ring__grpc__0: https://ring:5001
|
|
expose:
|
|
- "8080"
|
|
- "7001"
|
|
networks:
|
|
- aspire
|
|
gateway:
|
|
image: ${GATEWAY_IMAGE}
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Production
|
|
services__ring__http__0: http://ring:8080
|
|
services__ring__grpc__0: https://ring:5001
|
|
REVERSEPROXY__ROUTES__route0__MATCH__PATH: /ws
|
|
REVERSEPROXY__ROUTES__route0__CLUSTERID: cluster_ring
|
|
REVERSEPROXY__ROUTES__route1__MATCH__PATH: /ring/{**catch-all}
|
|
REVERSEPROXY__ROUTES__route1__CLUSTERID: cluster_ring
|
|
REVERSEPROXY__ROUTES__route1__TRANSFORMS__0__PathRemovePrefix: /ring
|
|
REVERSEPROXY__ROUTES__route1__TRANSFORMS__1__PathPrefix: /api
|
|
REVERSEPROXY__ROUTES__route2__MATCH__PATH: /.well-known/openid-configuration
|
|
REVERSEPROXY__ROUTES__route2__CLUSTERID: cluster_pass
|
|
REVERSEPROXY__ROUTES__route3__MATCH__PATH: /.well-known/jwks
|
|
REVERSEPROXY__ROUTES__route3__CLUSTERID: cluster_pass
|
|
REVERSEPROXY__ROUTES__route4__MATCH__PATH: /id/{**catch-all}
|
|
REVERSEPROXY__ROUTES__route4__CLUSTERID: cluster_pass
|
|
REVERSEPROXY__ROUTES__route4__TRANSFORMS__0__PathRemovePrefix: /id
|
|
REVERSEPROXY__ROUTES__route4__TRANSFORMS__1__PathPrefix: /api
|
|
REVERSEPROXY__ROUTES__route5__MATCH__PATH: /api/tus
|
|
REVERSEPROXY__ROUTES__route5__CLUSTERID: cluster_drive
|
|
REVERSEPROXY__ROUTES__route6__MATCH__PATH: /drive/{**catch-all}
|
|
REVERSEPROXY__ROUTES__route6__CLUSTERID: cluster_drive
|
|
REVERSEPROXY__ROUTES__route6__TRANSFORMS__0__PathRemovePrefix: /drive
|
|
REVERSEPROXY__ROUTES__route6__TRANSFORMS__1__PathPrefix: /api
|
|
REVERSEPROXY__ROUTES__route7__MATCH__PATH: /sphere/{**catch-all}
|
|
REVERSEPROXY__ROUTES__route7__CLUSTERID: cluster_sphere
|
|
REVERSEPROXY__ROUTES__route7__TRANSFORMS__0__PathRemovePrefix: /sphere
|
|
REVERSEPROXY__ROUTES__route7__TRANSFORMS__1__PathPrefix: /api
|
|
REVERSEPROXY__ROUTES__route8__MATCH__PATH: /develop/{**catch-all}
|
|
REVERSEPROXY__ROUTES__route8__CLUSTERID: cluster_develop
|
|
REVERSEPROXY__ROUTES__route8__TRANSFORMS__0__PathRemovePrefix: /develop
|
|
REVERSEPROXY__ROUTES__route8__TRANSFORMS__1__PathPrefix: /api
|
|
REVERSEPROXY__CLUSTERS__cluster_ring__DESTINATIONS__destination1__ADDRESS: http://_http.ring
|
|
REVERSEPROXY__CLUSTERS__cluster_pass__DESTINATIONS__destination1__ADDRESS: http://_http.pass
|
|
REVERSEPROXY__CLUSTERS__cluster_drive__DESTINATIONS__destination1__ADDRESS: http://_http.drive
|
|
REVERSEPROXY__CLUSTERS__cluster_sphere__DESTINATIONS__destination1__ADDRESS: http://_http.sphere
|
|
REVERSEPROXY__CLUSTERS__cluster_develop__DESTINATIONS__destination1__ADDRESS: http://_http.develop
|
|
services__pass__http__0: http://pass:8080
|
|
services__pass__grpc__0: https://pass:5001
|
|
services__drive__http__0: http://drive:8080
|
|
services__drive__grpc__0: https://drive:5001
|
|
services__sphere__http__0: http://sphere:8080
|
|
services__sphere__grpc__0: https://sphere:5001
|
|
services__develop__http__0: http://develop:8080
|
|
services__develop__grpc__0: https://develop:5001
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://docker-compose-dashboard:18889
|
|
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
|
|
OTEL_SERVICE_NAME: gateway
|
|
expose:
|
|
- "5000"
|
|
ports:
|
|
- 5001:5000
|
|
networks:
|
|
- aspire
|
|
networks:
|
|
aspire:
|
|
driver: bridge
|