Skip to content

Commit 2f86ece

Browse files
committed
Add healthchecks to API
1 parent 139c705 commit 2f86ece

2 files changed

Lines changed: 36 additions & 30 deletions

File tree

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

3-
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<Nullable>enable</Nullable>
6-
<ImplicitUsings>enable</ImplicitUsings>
7-
<UserSecretsId>94f2b34d-f80b-4de4-ac9c-d0fb8e36fd07</UserSecretsId>
8-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<Nullable>enable</Nullable>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<UserSecretsId>94f2b34d-f80b-4de4-ac9c-d0fb8e36fd07</UserSecretsId>
8+
</PropertyGroup>
99

10-
<ItemGroup>
11-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.3">
12-
<PrivateAssets>all</PrivateAssets>
13-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14-
</PackageReference>
15-
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
16-
</ItemGroup>
10+
<ItemGroup>
11+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.3">
12+
<PrivateAssets>all</PrivateAssets>
13+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14+
</PackageReference>
15+
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="8.0.15"/>
16+
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0"/>
17+
</ItemGroup>
1718

18-
<ItemGroup>
19-
<ProjectReference Include="..\..\PocketDDD.Shared\PocketDDD.Shared.csproj" />
20-
<ProjectReference Include="..\PocketDDD.Server.DB\PocketDDD.Server.DB.csproj" />
21-
<ProjectReference Include="..\PocketDDD.Server.Model\PocketDDD.Server.Model.csproj" />
22-
<ProjectReference Include="..\PocketDDD.Server.Services\PocketDDD.Server.Services.csproj" />
23-
</ItemGroup>
19+
<ItemGroup>
20+
<ProjectReference Include="..\..\PocketDDD.Shared\PocketDDD.Shared.csproj"/>
21+
<ProjectReference Include="..\PocketDDD.Server.DB\PocketDDD.Server.DB.csproj"/>
22+
<ProjectReference Include="..\PocketDDD.Server.Model\PocketDDD.Server.Model.csproj"/>
23+
<ProjectReference Include="..\PocketDDD.Server.Services\PocketDDD.Server.Services.csproj"/>
24+
</ItemGroup>
2425

2526
</Project>

PocketDDD.Server/PocketDDD.Server.WebAPI/Program.cs

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,30 @@
33
using PocketDDD.Server.Services;
44
using PocketDDD.Server.WebAPI.Authentication;
55

6-
string corsPolicy = "corsPolicy";
6+
var corsPolicy = "corsPolicy";
77

88
var builder = WebApplication.CreateBuilder(args);
99

1010
// Add services to the container.
11-
1211
builder.Services.AddControllers();
12+
1313
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
1414
builder.Services.AddEndpointsApiExplorer();
1515
builder.Services.AddSwaggerGen();
1616
builder.Services.AddCors(options =>
1717
{
1818
options.AddPolicy(corsPolicy,
19-
builder =>
20-
{
21-
builder.AllowAnyHeader()
22-
.AllowAnyMethod()
23-
.AllowAnyOrigin();
24-
});
19+
builder =>
20+
{
21+
builder.AllowAnyHeader()
22+
.AllowAnyMethod()
23+
.AllowAnyOrigin();
24+
});
2525
});
2626

2727
builder.Services.AddDbContext<PocketDDDContext>(
28-
options => options.UseSqlServer("name=ConnectionStrings:PocketDDDContext"));
28+
options => options.UseSqlServer("name=ConnectionStrings:PocketDDDContext")
29+
);
2930

3031
builder.Services.AddScoped<RegistrationService>();
3132
builder.Services.AddScoped<UserService>();
@@ -37,7 +38,10 @@
3738
builder.Services.AddHttpClient<SessionizeService>();
3839

3940
builder.Services.AddAuthentication()
40-
.AddScheme<UserIsRegisteredOptions, UserIsRegisteredAuthHandler>(UserIsRegisteredAuthHandler.SchemeName, null);
41+
.AddScheme<UserIsRegisteredOptions, UserIsRegisteredAuthHandler>(UserIsRegisteredAuthHandler.SchemeName, null);
42+
43+
builder.Services.AddHealthChecks()
44+
.AddDbContextCheck<PocketDDDContext>();
4145

4246
var app = builder.Build();
4347

@@ -55,5 +59,6 @@
5559
app.UseAuthorization();
5660

5761
app.MapControllers();
62+
app.MapHealthChecks("/healthz");
5863

59-
app.Run();
64+
app.Run();

0 commit comments

Comments
 (0)