🔨 Update build script

This commit is contained in:
2025-09-24 20:22:11 +08:00
parent d9fe1273b5
commit 7bc94a9646
7 changed files with 2433 additions and 238 deletions

View File

@@ -1,3 +1,4 @@
{
"appHostPath": "../DysonNetwork.Control/DysonNetwork.Control.csproj"
}
}

3
.env
View File

@@ -33,3 +33,6 @@ SPHERE_IMAGE=sphere:latest
# Container image name for develop
DEVELOP_IMAGE=develop:latest
# Container image name for gateway
GATEWAY_IMAGE=gateway:latest

View File

@@ -1,4 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk/9.4.2;Aspire.AppHost.Sdk/9.4.2">
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Aspire.AppHost.Sdk" Version="9.4.2"/>
<PropertyGroup>
<OutputType>Exe</OutputType>

2237
debug.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,222 +1,204 @@
services:
aspire-dashboard:
image: "mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest"
docker-compose-dashboard:
image: mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest
expose:
- "18888"
- "18889"
networks:
- "aspire"
restart: "always"
- aspire
restart: always
cache:
image: "docker.io/library/redis:7.4"
image: docker.io/library/redis:7.4
command:
- "-c"
- "redis-server --requirepass $$REDIS_PASSWORD"
- -c
- redis-server --requirepass $$REDIS_PASSWORD
entrypoint:
- "/bin/sh"
- /bin/sh
environment:
REDIS_PASSWORD: "${CACHE_PASSWORD}"
REDIS_PASSWORD: ${CACHE_PASSWORD}
expose:
- "6379"
networks:
- "aspire"
- aspire
queue:
image: "docker.io/library/nats:2.11"
image: docker.io/library/nats:2.11
command:
- "--user"
- "nats"
- "--pass"
- "${QUEUE_PASSWORD}"
- "-js"
- --user
- nats
- --pass
- ${QUEUE_PASSWORD}
- -js
expose:
- "4222"
networks:
- "aspire"
- aspire
ring:
image: "${RING_IMAGE}"
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"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${RING_PORT}"
HTTPS_PORTS: "5001"
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
services__pass__http__0: "http://pass:${PASS_PORT}"
services__pass__grpc__0: "https://pass:5001"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "ring"
volumes:
- "./Keys:/app/keys"
- "./settings/ring.json:/app/appsettings.json"
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:
- "${RING_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
- aspire
pass:
image: "${PASS_IMAGE}"
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"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${PASS_PORT}"
HTTPS_PORTS: "5001"
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
services__ring__http__0: "http://ring:${RING_PORT}"
services__ring__grpc__0: "https://ring:5001"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "pass"
volumes:
- "./Keys:/app/keys"
- "./settings/pass.json:/app/appsettings.json"
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:
- "${PASS_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
- aspire
drive:
image: "${DRIVE_IMAGE}"
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"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${DRIVE_PORT}"
HTTPS_PORTS: "5001"
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
services__pass__http__0: "http://pass:${PASS_PORT}"
services__pass__grpc__0: "https://pass:5001"
services__ring__http__0: "http://ring:${RING_PORT}"
services__ring__grpc__0: "https://ring:5001"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "drive"
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:
- "${DRIVE_PORT}"
- "5001"
volumes:
- "./Uploads:/app/uploads"
- "./settings/drive.json:/app/appsettings.json"
- "8080"
- "7001"
networks:
- "aspire"
- aspire
sphere:
image: "${SPHERE_IMAGE}"
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"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${SPHERE_PORT}"
HTTPS_PORTS: "5001"
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
services__pass__http__0: "http://pass:${PASS_PORT}"
services__pass__grpc__0: "https://pass:5001"
services__drive__http__0: "http://drive:${DRIVE_PORT}"
services__drive__grpc__0: "https://drive:5001"
services__ring__http__0: "http://ring:${RING_PORT}"
services__ring__grpc__0: "https://ring:5001"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "sphere"
volumes:
- "./Keys:/app/keys"
- "./settings/sphere.json:/app/appsettings.json"
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:
- "${SPHERE_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
- aspire
develop:
image: "${DEVELOP_IMAGE}"
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"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: in_memory
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${DEVELOP_PORT}"
HTTPS_PORTS: "5001"
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
services__pass__http__0: "http://pass:${PASS_PORT}"
services__pass__grpc__0: "https://pass:5001"
services__ring__http__0: "http://ring:${RING_PORT}"
services__ring__grpc__0: "https://ring:5001"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "develop"
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:
- "${DEVELOP_PORT}"
- "5001"
volumes:
- "./settings/develop.json:/app/appsettings.json"
- "8080"
- "7001"
networks:
- "aspire"
- aspire
gateway:
image: "mcr.microsoft.com/dotnet/nightly/yarp:2.3.0-preview.4"
command:
- "/app/yarp.dll"
entrypoint:
- "dotnet"
image: ${GATEWAY_IMAGE}
environment:
ASPNETCORE_ENVIRONMENT: "Production"
services__ring__http__0: "http://ring:${RING_PORT}"
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:${PASS_PORT}"
services__pass__grpc__0: "https://pass:5001"
services__drive__http__0: "http://drive:${DRIVE_PORT}"
services__drive__grpc__0: "https://drive:5001"
services__sphere__http__0: "http://sphere:${SPHERE_PORT}"
services__sphere__grpc__0: "https://sphere:5001"
services__develop__http__0: "http://develop:${DEVELOP_PORT}"
services__develop__grpc__0: "https://develop:5001"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "gateway"
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"
- 5001:5000
networks:
- "aspire"
- aspire
networks:
aspire:
driver: "bridge"
driver: bridge

View File

@@ -33,3 +33,6 @@ SPHERE_IMAGE=sphere:latest
# Container image name for develop
DEVELOP_IMAGE=develop:latest
# Container image name for gateway
GATEWAY_IMAGE=gateway:latest

View File

@@ -39,16 +39,16 @@ services:
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory"
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${RING_PORT}"
HTTPS_PORTS: "5001"
HTTP_PORTS: "8080"
HTTPS_PORTS: "7001"
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
services__pass__http__0: "http://pass:${PASS_PORT}"
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"
expose:
- "${RING_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
pass:
@@ -58,17 +58,17 @@ services:
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory"
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${PASS_PORT}"
HTTPS_PORTS: "5001"
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:${RING_PORT}"
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"
expose:
- "${PASS_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
drive:
@@ -78,18 +78,18 @@ services:
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory"
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${DRIVE_PORT}"
HTTPS_PORTS: "5001"
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:${PASS_PORT}"
services__ring__http__0: "http://ring:${RING_PORT}"
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"
expose:
- "${DRIVE_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
sphere:
@@ -99,19 +99,19 @@ services:
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory"
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${SPHERE_PORT}"
HTTPS_PORTS: "5001"
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:${PASS_PORT}"
services__ring__http__0: "http://ring:${RING_PORT}"
services__drive__http__0: "http://drive:${DRIVE_PORT}"
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"
expose:
- "${SPHERE_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
develop:
@@ -121,70 +121,37 @@ services:
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES: "true"
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY: "in_memory"
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "${DEVELOP_PORT}"
HTTPS_PORTS: "5001"
HTTP_PORTS: "8080"
HTTPS_PORTS: "7001"
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
services__pass__http__0: "http://pass:${PASS_PORT}"
services__ring__http__0: "http://ring:${RING_PORT}"
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"
expose:
- "${DEVELOP_PORT}"
- "5001"
- "8080"
- "7001"
networks:
- "aspire"
gateway:
image: "mcr.microsoft.com/dotnet/nightly/yarp:2.3.0-preview.4"
command:
- "/app/yarp.dll"
entrypoint:
- "dotnet"
image: "${GATEWAY_IMAGE}"
environment:
ASPNETCORE_ENVIRONMENT: "Production"
services__ring__http__0: "http://ring:${RING_PORT}"
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:${PASS_PORT}"
services__drive__http__0: "http://drive:${DRIVE_PORT}"
services__sphere__http__0: "http://sphere:${SPHERE_PORT}"
services__develop__http__0: "http://develop:${DEVELOP_PORT}"
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: "5001"
services__ring__http__0: "http://ring:8080"
services__pass__http__0: "http://pass:8080"
services__drive__http__0: "http://drive:8080"
services__sphere__http__0: "http://sphere:8080"
services__develop__http__0: "http://develop:8080"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://docker-compose-dashboard:18889"
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
OTEL_SERVICE_NAME: "gateway"
expose:
- "5000"
- "5001"
networks:
- "aspire"
networks: