Skip to content

Commit 2667c7d

Browse files
Copilotkamilbaczek
andcommitted
Simplify Aspire implementation to match Chapter 2 pattern, remove ServiceDefaults
Co-authored-by: kamilbaczek <[email protected]>
1 parent 8b17996 commit 2667c7d

File tree

17 files changed

+72
-555
lines changed

17 files changed

+72
-555
lines changed

Chapter-3-microservice-extraction/Docs/ASPIRE_IMPLEMENTATION.md

Lines changed: 0 additions & 263 deletions
This file was deleted.

Chapter-3-microservice-extraction/Fitnet.AppHost/Fitnet.AppHost.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
<ItemGroup>
1818
<ProjectReference Include="..\Fitnet.Contracts\Src\Fitnet.Contracts\Fitnet.Contracts.csproj" />
1919
<ProjectReference Include="..\Fitnet\Src\Fitnet\Fitnet.csproj" />
20-
<ProjectReference Include="..\Fitnet.ServiceDefaults\Fitnet.ServiceDefaults.csproj" />
2120
</ItemGroup>
2221

2322
</Project>
Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,28 @@
1+
using Projects;
2+
13
var builder = DistributedApplication.CreateBuilder(args);
24

3-
// Add PostgreSQL database
45
var postgres = builder.AddPostgres("postgres")
5-
.WithImage("postgres")
6-
.WithImageTag("14.3")
7-
.WithEnvironment("POSTGRES_PASSWORD", "mysecretpassword")
8-
.WithHealthCheck();
6+
.WithImage("postgres", "14.3")
7+
.WithPgAdmin();
98

10-
var fitnetDb = postgres.AddDatabase("fitnet");
9+
var fitnetDatabase = postgres.AddDatabase("fitnetsdb", "fitnet");
1110

12-
// Add RabbitMQ message broker
1311
var rabbitmq = builder.AddRabbitMQ("rabbitmq")
14-
.WithImage("rabbitmq")
15-
.WithImageTag("management")
16-
.WithManagementPlugin()
17-
.WithHealthCheck();
12+
.WithManagementPlugin();
1813

19-
// Add Fitnet Contracts Microservice
20-
var contractsApi = builder.AddProject<Projects.Fitnet_Contracts>("fitnet-contracts-microservice")
21-
.WithReference(fitnetDb)
22-
.WithReference(rabbitmq)
23-
.WithHttpEndpoint(port: 8081, targetPort: 80, name: "http")
24-
.WithEnvironment("ASPNETCORE_ENVIRONMENT", "Development");
14+
builder.AddProject<Fitnet>("fitnet-modular-monolith")
15+
.WithEnvironment("ASPNETCORE_ENVIRONMENT", "Development")
16+
.WithReference(fitnetDatabase, "Database__ConnectionString")
17+
.WithReference(rabbitmq, "EventBus__ConnectionString")
18+
.WaitFor(postgres)
19+
.WaitFor(rabbitmq);
2520

26-
// Add Fitnet Modular Monolith
27-
var fitnetApi = builder.AddProject<Projects.Fitnet>("fitnet-modular-monolith")
28-
.WithReference(fitnetDb)
29-
.WithReference(rabbitmq)
30-
.WithHttpEndpoint(port: 8080, targetPort: 80, name: "http")
31-
.WithEnvironment("ASPNETCORE_ENVIRONMENT", "Development");
21+
builder.AddProject<Fitnet_Contracts>("fitnet-contracts-microservice")
22+
.WithEnvironment("ASPNETCORE_ENVIRONMENT", "Development")
23+
.WithReference(fitnetDatabase, "Database__ConnectionString")
24+
.WithReference(rabbitmq, "EventBus__ConnectionString")
25+
.WaitFor(postgres)
26+
.WaitFor(rabbitmq);
3227

33-
builder.Build().Run();
28+
await builder.Build().RunAsync();

Chapter-3-microservice-extraction/Fitnet.Contracts/Src/Fitnet.Contracts.Infrastructure/Database/DatabaseModule.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,14 @@ namespace EvolutionaryArchitecture.Fitnet.Contracts.Infrastructure.Database;
1010
internal static class DatabaseModule
1111
{
1212
private const string DatabaseConfigurationSection = "Database";
13-
private const string PostgresConnectionName = "fitnet";
1413

1514
internal static IServiceCollection AddDatabase(this IServiceCollection services, IConfiguration configuration)
1615
{
1716
services.Configure<DatabaseOptions>(options => configuration.GetSection(DatabaseConfigurationSection).Bind(options));
1817
services.AddDbContext<ContractsPersistence>((serviceProvider, options) =>
1918
{
20-
// Try to get Aspire connection string first
21-
var connectionString = configuration.GetConnectionString(PostgresConnectionName);
22-
23-
if (string.IsNullOrEmpty(connectionString))
24-
{
25-
// Fallback to legacy configuration
26-
var databaseOptions = serviceProvider.GetRequiredService<IOptions<DatabaseOptions>>();
27-
connectionString = databaseOptions.Value.ConnectionString;
28-
}
29-
30-
options.UseNpgsql(connectionString);
19+
var databaseOptions = serviceProvider.GetRequiredService<IOptions<DatabaseOptions>>();
20+
options.UseNpgsql(databaseOptions.Value.ConnectionString);
3121
});
3222
services.AddRepositories();
3323

0 commit comments

Comments
 (0)