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
 |