{ "$schema": "https://json.schemastore.org/aspire-8.0.json", "resources": { "cache": { "type": "container.v1", "connectionString": "{cache.bindings.tcp.host}:{cache.bindings.tcp.port},password={cache-password.value}", "image": "docker.io/library/redis:8.2", "entrypoint": "/bin/sh", "args": [ "-c", "redis-server --requirepass $REDIS_PASSWORD" ], "env": { "REDIS_PASSWORD": "{cache-password.value}" }, "bindings": { "tcp": { "scheme": "tcp", "protocol": "tcp", "transport": "tcp", "targetPort": 6379 } } }, "queue": { "type": "container.v1", "connectionString": "nats://nats:{queue-password.value}@{queue.bindings.tcp.host}:{queue.bindings.tcp.port}", "image": "docker.io/library/nats:2.11", "args": [ "--user", "nats", "--pass", "{queue-password.value}", "-js" ], "bindings": { "tcp": { "scheme": "tcp", "protocol": "tcp", "transport": "tcp", "targetPort": 4222 } } }, "ring": { "type": "project.v1", "path": "../DysonNetwork.Ring/DysonNetwork.Ring.csproj", "env": { "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": "8001", "HTTPS_PORTS": "{ring.bindings.grpc.targetPort}", "ConnectionStrings__cache": "{cache.connectionString}", "ConnectionStrings__queue": "{queue.connectionString}", "GRPC_PORT": "7002", "services__pass__http__0": "{pass.bindings.http.url}", "services__pass__grpc__0": "{pass.bindings.grpc.url}", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "ring" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 8001 }, "grpc": { "scheme": "https", "protocol": "tcp", "transport": "http", "targetPort": 7002 } } }, "pass": { "type": "project.v1", "path": "../DysonNetwork.Pass/DysonNetwork.Pass.csproj", "env": { "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": "8002", "HTTPS_PORTS": "{pass.bindings.grpc.targetPort}", "services__ring__http__0": "{ring.bindings.http.url}", "services__ring__grpc__0": "{ring.bindings.grpc.url}", "services__develop__http__0": "{develop.bindings.http.url}", "services__develop__grpc__0": "{develop.bindings.grpc.url}", "services__drive__http__0": "{drive.bindings.http.url}", "services__drive__grpc__0": "{drive.bindings.grpc.url}", "ConnectionStrings__cache": "{cache.connectionString}", "ConnectionStrings__queue": "{queue.connectionString}", "GRPC_PORT": "7003", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "pass" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 8002 }, "grpc": { "scheme": "https", "protocol": "tcp", "transport": "http", "targetPort": 7003 } } }, "drive": { "type": "project.v1", "path": "../DysonNetwork.Drive/DysonNetwork.Drive.csproj", "env": { "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": "8003", "HTTPS_PORTS": "{drive.bindings.grpc.targetPort}", "services__pass__http__0": "{pass.bindings.http.url}", "services__pass__grpc__0": "{pass.bindings.grpc.url}", "services__ring__http__0": "{ring.bindings.http.url}", "services__ring__grpc__0": "{ring.bindings.grpc.url}", "ConnectionStrings__cache": "{cache.connectionString}", "ConnectionStrings__queue": "{queue.connectionString}", "GRPC_PORT": "7004", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "drive" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 8003 }, "grpc": { "scheme": "https", "protocol": "tcp", "transport": "http", "targetPort": 7004 } } }, "sphere": { "type": "project.v1", "path": "../DysonNetwork.Sphere/DysonNetwork.Sphere.csproj", "env": { "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": "8004", "HTTPS_PORTS": "{sphere.bindings.grpc.targetPort}", "services__pass__http__0": "{pass.bindings.http.url}", "services__pass__grpc__0": "{pass.bindings.grpc.url}", "services__ring__http__0": "{ring.bindings.http.url}", "services__ring__grpc__0": "{ring.bindings.grpc.url}", "services__drive__http__0": "{drive.bindings.http.url}", "services__drive__grpc__0": "{drive.bindings.grpc.url}", "ConnectionStrings__cache": "{cache.connectionString}", "ConnectionStrings__queue": "{queue.connectionString}", "GRPC_PORT": "7005", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "sphere" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 8004 }, "grpc": { "scheme": "https", "protocol": "tcp", "transport": "http", "targetPort": 7005 } } }, "develop": { "type": "project.v1", "path": "../DysonNetwork.Develop/DysonNetwork.Develop.csproj", "env": { "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": "8005", "HTTPS_PORTS": "{develop.bindings.grpc.targetPort}", "services__pass__http__0": "{pass.bindings.http.url}", "services__pass__grpc__0": "{pass.bindings.grpc.url}", "services__ring__http__0": "{ring.bindings.http.url}", "services__ring__grpc__0": "{ring.bindings.grpc.url}", "services__sphere__http__0": "{sphere.bindings.http.url}", "services__sphere__grpc__0": "{sphere.bindings.grpc.url}", "ConnectionStrings__cache": "{cache.connectionString}", "ConnectionStrings__queue": "{queue.connectionString}", "GRPC_PORT": "7006", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "develop" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 8005 }, "grpc": { "scheme": "https", "protocol": "tcp", "transport": "http", "targetPort": 7006 } } }, "insight": { "type": "project.v1", "path": "../DysonNetwork.Insight/DysonNetwork.Insight.csproj", "env": { "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": "8006", "HTTPS_PORTS": "{insight.bindings.grpc.targetPort}", "services__pass__http__0": "{pass.bindings.http.url}", "services__pass__grpc__0": "{pass.bindings.grpc.url}", "services__ring__http__0": "{ring.bindings.http.url}", "services__ring__grpc__0": "{ring.bindings.grpc.url}", "services__sphere__http__0": "{sphere.bindings.http.url}", "services__sphere__grpc__0": "{sphere.bindings.grpc.url}", "services__develop__http__0": "{develop.bindings.http.url}", "services__develop__grpc__0": "{develop.bindings.grpc.url}", "ConnectionStrings__cache": "{cache.connectionString}", "ConnectionStrings__queue": "{queue.connectionString}", "GRPC_PORT": "7007", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "insight" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 8006 }, "grpc": { "scheme": "https", "protocol": "tcp", "transport": "http", "targetPort": 7007 } } }, "gateway": { "type": "project.v1", "path": "../DysonNetwork.Gateway/DysonNetwork.Gateway.csproj", "env": { "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": "{ring.bindings.http.url}", "services__ring__grpc__0": "{ring.bindings.grpc.url}", "services__pass__http__0": "{pass.bindings.http.url}", "services__pass__grpc__0": "{pass.bindings.grpc.url}", "services__drive__http__0": "{drive.bindings.http.url}", "services__drive__grpc__0": "{drive.bindings.grpc.url}", "services__sphere__http__0": "{sphere.bindings.http.url}", "services__sphere__grpc__0": "{sphere.bindings.grpc.url}", "services__develop__http__0": "{develop.bindings.http.url}", "services__develop__grpc__0": "{develop.bindings.grpc.url}", "services__insight__http__0": "{insight.bindings.http.url}", "services__insight__grpc__0": "{insight.bindings.grpc.url}", "OTEL_EXPORTER_OTLP_ENDPOINT": "{docker-compose-dashboard.bindings.otlp-grpc.url}", "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc", "OTEL_SERVICE_NAME": "gateway" }, "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 5001 } } }, "docker-compose": { "error": "This resource does not support generation in the manifest." }, "cache-password": { "type": "parameter.v0", "value": "{cache-password.inputs.value}", "inputs": { "value": { "type": "string", "secret": true, "default": { "generate": { "minLength": 22, "special": false } } } } }, "queue-password": { "type": "parameter.v0", "value": "{queue-password.inputs.value}", "inputs": { "value": { "type": "string", "secret": true, "default": { "generate": { "minLength": 22, "special": false } } } } }, "docker-compose-dashboard": { "type": "container.v1", "image": "mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest", "bindings": { "http": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 18888 }, "otlp-grpc": { "scheme": "http", "protocol": "tcp", "transport": "http", "targetPort": 18889 } } } } }