✨ Gateway in Aspire
This commit is contained in:
@@ -1,30 +1,53 @@
|
||||
using Aspire.Hosting.Yarp.Transforms;
|
||||
|
||||
var builder = DistributedApplication.CreateBuilder(args);
|
||||
|
||||
var database = builder.AddPostgres("database");
|
||||
var cache = builder.AddConnectionString("cache");
|
||||
var queue = builder.AddNats("queue").WithJetStream();
|
||||
|
||||
var ring = builder.AddProject<Projects.DysonNetwork_Ring>("ring")
|
||||
var ringService = builder.AddProject<Projects.DysonNetwork_Ring>("ring")
|
||||
.WithReference(database)
|
||||
.WithReference(queue);
|
||||
var pass = builder.AddProject<Projects.DysonNetwork_Pass>("pass")
|
||||
var passService = builder.AddProject<Projects.DysonNetwork_Pass>("pass")
|
||||
.WithReference(database)
|
||||
.WithReference(cache)
|
||||
.WithReference(queue)
|
||||
.WithReference(ring);
|
||||
builder.AddProject<Projects.DysonNetwork_Drive>("drive")
|
||||
.WithReference(ringService);
|
||||
var driveService = builder.AddProject<Projects.DysonNetwork_Drive>("drive")
|
||||
.WithReference(database)
|
||||
.WithReference(cache)
|
||||
.WithReference(queue)
|
||||
.WithReference(pass);
|
||||
builder.AddProject<Projects.DysonNetwork_Sphere>("sphere")
|
||||
.WithReference(passService);
|
||||
var sphereService = builder.AddProject<Projects.DysonNetwork_Sphere>("sphere")
|
||||
.WithReference(database)
|
||||
.WithReference(cache)
|
||||
.WithReference(queue)
|
||||
.WithReference(pass);
|
||||
builder.AddProject<Projects.DysonNetwork_Develop>("develop")
|
||||
.WithReference(passService);
|
||||
var developService = builder.AddProject<Projects.DysonNetwork_Develop>("develop")
|
||||
.WithReference(database)
|
||||
.WithReference(cache)
|
||||
.WithReference(pass);
|
||||
.WithReference(passService);
|
||||
|
||||
var gateway = builder.AddYarp("gateway")
|
||||
.WithHostPort(5000)
|
||||
.WithConfiguration(yarp =>
|
||||
{
|
||||
yarp.AddRoute("/ring/{**catch-all}", ringService)
|
||||
.WithTransformPathRemovePrefix("/ring")
|
||||
.WithTransformPathPrefix("/api");
|
||||
yarp.AddRoute("/id/{**catch-all}", passService)
|
||||
.WithTransformPathRemovePrefix("/id")
|
||||
.WithTransformPathPrefix("/api");
|
||||
yarp.AddRoute("/drive/{**catch-all}", driveService)
|
||||
.WithTransformPathRemovePrefix("/drive")
|
||||
.WithTransformPathPrefix("/api");
|
||||
yarp.AddRoute("/sphere/{**catch-all}", sphereService)
|
||||
.WithTransformPathRemovePrefix("/sphere")
|
||||
.WithTransformPathPrefix("/api");
|
||||
yarp.AddRoute("/develop/{**catch-all}", developService)
|
||||
.WithTransformPathRemovePrefix("/develop")
|
||||
.WithTransformPathPrefix("/api");
|
||||
});
|
||||
|
||||
builder.Build().Run();
|
@@ -15,6 +15,7 @@
|
||||
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.4.2"/>
|
||||
<PackageReference Include="Aspire.Hosting.Nats" Version="9.4.2" />
|
||||
<PackageReference Include="Aspire.Hosting.PostgreSQL" Version="9.4.2" />
|
||||
<PackageReference Include="Aspire.Hosting.Yarp" Version="9.4.2-preview.1.25428.12" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
Reference in New Issue
Block a user