Skip to content

NikiforovAll/aspire-depends-on

Repository files navigation

Nall.Aspire.Hosting.DependsOn

Build NuGet contributionswelcome Conventional Commits License

DependsOn functionality for .NET Aspire. Control startup dependencies between components.

Install

dotnet add package Nall.Aspire.Hosting.DependsOn.All
Package Version Description
Nall.Aspire.Hosting.DependsOn Nuget Dependencies Core
Nall.Aspire.Hosting.DependsOn.All Nuget Meta Package containing common dependencies for popular components
Nall.Aspire.Hosting.DependsOn.Uris Nuget HttpEndpoints health check
Nall.Aspire.Hosting.DependsOn.PostgreSQL Nuget PostgreSQL health check
Nall.Aspire.Hosting.DependsOn.SqlServer Nuget SqlServer health check
Nall.Aspire.Hosting.DependsOn.RabbitMQ Nuget RabbitMQ health check

Examples

// AppHost/Program.cs
var builder = DistributedApplication.CreateBuilder(args);

var admin = builder.AddParameter("postgres-admin", secret: true);
var password = builder.AddParameter("postgres-password", secret: true);

builder.Services.Configure<DependsOnOptions>(builder.Configuration.GetSection("DependsOnOptions"));

var dbServer = builder.AddPostgres("db-server", admin, password, 5432).WithHealthCheck();

dbServer.WithPgAdmin(c => c.WithHostPort(5050).WaitFor(dbServer));

var db = dbServer.AddDatabase("db");

var migrator = builder
    .AddProject<Projects.MigrationService>("migrator")
    .WithReference(db)
    .WaitFor(db);

var api = builder
    .AddProject<Projects.Api>("api")
    .WithReference(db)
    .WaitForCompletion(migrator);

builder.Build().Run();

alt

Build and Development

dotnet cake --target build

dotnet cake --target test

dotnet cake --target pack

References