357 lines
13 KiB
JSON
357 lines
13 KiB
JSON
{
|
|
"$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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |