diff --git a/Directory.Packages.props b/Directory.Packages.props
index 767011f..00c3828 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,6 +7,7 @@
+
diff --git a/TransactionProcessorACL/Bootstrapper/MiddlewareRegistry.cs b/TransactionProcessorACL/Bootstrapper/MiddlewareRegistry.cs
index 50eaabe..b649b87 100644
--- a/TransactionProcessorACL/Bootstrapper/MiddlewareRegistry.cs
+++ b/TransactionProcessorACL/Bootstrapper/MiddlewareRegistry.cs
@@ -1,4 +1,5 @@
-using Microsoft.OpenApi;
+using HealthMonitoring.Client;
+using Microsoft.OpenApi;
using Shared.Authorisation;
using Shared.Monitoring;
@@ -39,7 +40,7 @@ public MiddlewareRegistry()
this.ConfigurePasswordTokenHandling();
this.ConfigureJsonOptions();
this.ConfigureControllers();
- this.AddUptimeKuma();
+ this.AddHealthMonitoringRegistration(Startup.Configuration);
}
///
diff --git a/TransactionProcessorACL/Program.cs b/TransactionProcessorACL/Program.cs
index b2a1293..d7dcb66 100644
--- a/TransactionProcessorACL/Program.cs
+++ b/TransactionProcessorACL/Program.cs
@@ -67,10 +67,14 @@ private static void ConfigureWebHost(IHostBuilder hostBuilder) {
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
.AddJsonFile($"/home/txnproc/config/appsettings.local.json", optional: true, reloadOnChange: true)
- .AddEnvironmentVariables();
+ .AddEnvironmentVariables()
+ .AddInMemoryCollection(new Dictionary
+ {
+ ["HealthMonitoring:Service:Version"] = Assembly.GetEntryAssembly()?.GetName().Version?.ToString() ?? "0.0.0.0"
+ });
- // Build a snapshot of configuration so we can use it immediately (e.g. for Sentry)
- var builtConfig = configBuilder.Build();
+ // Build a snapshot of configuration so we can use it immediately (e.g. for Sentry)
+ var builtConfig = configBuilder.Build();
// Keep existing static usage (if you must), and initialise the ConfigurationReader now.
Startup.Configuration = builtConfig;
diff --git a/TransactionProcessorACL/Startup.cs b/TransactionProcessorACL/Startup.cs
index 8cdf0f8..e012ff6 100644
--- a/TransactionProcessorACL/Startup.cs
+++ b/TransactionProcessorACL/Startup.cs
@@ -74,13 +74,6 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerF
InitializeLogger(loggerFactory);
ConfigureMiddleware(app);
ConfigureEndpoints(app);
-
- lifetime.ApplicationStarted.Register(() =>
- {
- host.RegisterWithUptimeKumaAsync()
- .GetAwaiter()
- .GetResult();
- });
}
private static void UseDevelopmentExceptionPage(IApplicationBuilder app,
diff --git a/TransactionProcessorACL/TransactionProcessorACL.csproj b/TransactionProcessorACL/TransactionProcessorACL.csproj
index 44e078c..4b446e1 100644
--- a/TransactionProcessorACL/TransactionProcessorACL.csproj
+++ b/TransactionProcessorACL/TransactionProcessorACL.csproj
@@ -11,6 +11,7 @@
+
diff --git a/TransactionProcessorACL/appsettings.json b/TransactionProcessorACL/appsettings.json
index 730c2be..a7a0f58 100644
--- a/TransactionProcessorACL/appsettings.json
+++ b/TransactionProcessorACL/appsettings.json
@@ -12,11 +12,26 @@
"SecurityConfiguration": {
"ApiName": "transactionProcessorACL"
},
- "UptimeKuma": {
- "Monitor": {
+ "HealthMonitoring": {
+ "Service": {
+ "ServiceId": "transaction-processor-acl",
"Name": "Transaction Processor ACL",
- "Url": "http://localhost:5003/health",
- "IntervalInSeconds": 60
- }
+ "Description": "Transaction Processor ACL",
+ "HealthUrl": "http://localhost:5003/healthui"
+ },
+ "Dependencies": [
+ {
+ "DependencyName": "Security Service",
+ "TargetServiceId": "security-service"
+ },
+ {
+ "DependencyName": "Transaction Processor Service",
+ "TargetServiceId": "transaction-processor"
+ },
+ {
+ "DependencyName": "Eventstore",
+ "TargetServiceId": "kurrentdb"
+ }
+ ]
}
}