Skip to content

Commit 1451b41

Browse files
authored
Merge pull request #2 from NetCoreTemplates/feature/kamal-deployment
feat: add Kamal deployment configuration
2 parents 38902c9 + 6d1f600 commit 1451b41

File tree

3 files changed

+38
-6
lines changed

3 files changed

+38
-6
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,4 @@ jobs:
101101
- name: Deploy with Kamal
102102
run: |
103103
kamal lock release -v
104-
kamal deploy -P --version latest
104+
kamal deploy -P --version latest

MyApp/Configure.HealthChecks.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using Microsoft.Extensions.Diagnostics.HealthChecks;
2+
3+
[assembly: HostingStartup(typeof(MyApp.HealthChecks))]
4+
5+
namespace MyApp;
6+
7+
public class HealthChecks : IHostingStartup
8+
{
9+
public class HealthCheck : IHealthCheck
10+
{
11+
public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken token = default)
12+
{
13+
// Perform health check logic here
14+
return HealthCheckResult.Healthy();
15+
}
16+
}
17+
18+
public void Configure(IWebHostBuilder builder)
19+
{
20+
builder.ConfigureServices(services =>
21+
{
22+
services.AddHealthChecks()
23+
.AddCheck<HealthCheck>("HealthCheck");
24+
25+
services.AddTransient<IStartupFilter, StartupFilter>();
26+
});
27+
}
28+
29+
public class StartupFilter : IStartupFilter
30+
{
31+
public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
32+
=> app => {
33+
app.UseHealthChecks("/up");
34+
next(app);
35+
};
36+
}
37+
}

config/deploy.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ proxy:
2525
# kamal-proxy connects to your container over port 80, use `app_port` to specify a different port.
2626
app_port: 8080
2727

28-
healthcheck:
29-
interval: 3
30-
path: /metadata
31-
timeout: 3
32-
3328
# Credentials for your image host.
3429
registry:
3530
# Specify the registry server, if you're not using Docker Hub

0 commit comments

Comments
 (0)