https://github.com/nikiforovall/aspire-depends-on
Control startup dependencies between Aspire Host Components
https://github.com/nikiforovall/aspire-depends-on
aspire dotnet
Last synced: about 1 month ago
JSON representation
Control startup dependencies between Aspire Host Components
- Host: GitHub
- URL: https://github.com/nikiforovall/aspire-depends-on
- Owner: NikiforovAll
- License: mit
- Created: 2024-06-24T06:25:56.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-06-25T10:36:53.000Z (10 months ago)
- Last Synced: 2024-10-10T19:39:51.698Z (7 months ago)
- Topics: aspire, dotnet
- Language: C#
- Homepage: https://nikiforovall.github.io/dotnet/aspire/2024/06/28/startup-dependencies-aspire.html
- Size: 69.3 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Nall.Aspire.Hosting.DependsOn
[](https://github.com/NikiforovAll/aspire-depends-on/actions/workflows/build.yml)
[](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn)
[](https://github.com/nikiforovall/aspire-depends-on)
[](https://conventionalcommits.org)
[](https://github.com/nikiforovall/aspire-depends-on/blob/main/LICENSE.md)DependsOn functionality for .NET Aspire. Control startup dependencies between components.
## Install
```bash
dotnet add package Nall.Aspire.Hosting.DependsOn.All
```| Package | Version | Description |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `Nall.Aspire.Hosting.DependsOn` | [](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn) | Dependencies Core |
| `Nall.Aspire.Hosting.DependsOn.All` | [](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn.All) | Meta Package containing common dependencies for popular components |
| `Nall.Aspire.Hosting.DependsOn.Uris` | [](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn.Uris) | HttpEndpoints health check |
| `Nall.Aspire.Hosting.DependsOn.PostgreSQL` | [](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn.PostgreSQL) | PostgreSQL health check |
| `Nall.Aspire.Hosting.DependsOn.SqlServer` | [](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn.SqlServer) | SqlServer health check |
| `Nall.Aspire.Hosting.DependsOn.RabbitMQ` | [](https://nuget.org/packages/Nall.Aspire.Hosting.DependsOn.RabbitMQ) | RabbitMQ health check |## Examples
```csharp
// 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(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("migrator")
.WithReference(db)
.WaitFor(db);var api = builder
.AddProject("api")
.WithReference(db)
.WaitForCompletion(migrator);builder.Build().Run();
```
## Build and Development
`dotnet cake --target build`
`dotnet cake --target test`
`dotnet cake --target pack`
## References
-