diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 68ae59b8c..f7b86dce7 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -177,6 +177,7 @@ services: - ASPNETCORE_URLS=http://0.0.0.0:80 - CatalogUrl=http://catalog.api/hc - OrderingUrl=http://ordering.api/hc + - OrderingBackgroundTasksUrl=http://ordering.backgroundtasks/hc - BasketUrl=http://basket.api/hc - IdentityUrl=http://identity.api/hc - LocationsUrl=http://locations.api/hc diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 3ddaf666d..06dcbde6f 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -180,6 +180,7 @@ services: - ASPNETCORE_URLS=http://0.0.0.0:80 - CatalogUrl=http://catalog.api/hc - OrderingUrl=http://ordering.api/hc + - OrderingBackgroundTasksUrl=http://ordering.backgroundtasks/hc - BasketUrl=http://basket.api/hc - IdentityUrl=http://identity.api/hc - LocationsUrl=http://locations.api/hc diff --git a/src/Web/WebStatus/Startup.cs b/src/Web/WebStatus/Startup.cs index 6f32ce5a8..a4900db30 100644 --- a/src/Web/WebStatus/Startup.cs +++ b/src/Web/WebStatus/Startup.cs @@ -39,6 +39,7 @@ namespace WebStatus } checks.AddUrlCheckIfNotNull(Configuration["OrderingUrl"], TimeSpan.FromMinutes(minutes)); + checks.AddUrlCheckIfNotNull(Configuration["OrderingBackgroundTasksUrl"], TimeSpan.FromMinutes(minutes)); checks.AddUrlCheckIfNotNull(Configuration["BasketUrl"], TimeSpan.Zero); //No cache for this HealthCheck, better just for demos checks.AddUrlCheckIfNotNull(Configuration["CatalogUrl"], TimeSpan.FromMinutes(minutes)); checks.AddUrlCheckIfNotNull(Configuration["IdentityUrl"], TimeSpan.FromMinutes(minutes)); diff --git a/src/Web/WebStatus/Views/Home/Index.cshtml b/src/Web/WebStatus/Views/Home/Index.cshtml index 43fe92891..a3befe611 100644 --- a/src/Web/WebStatus/Views/Home/Index.cshtml +++ b/src/Web/WebStatus/Views/Home/Index.cshtml @@ -1,13 +1,29 @@ -@model WebStatus.Viewmodels.HealthStatusViewModel +@using Microsoft.AspNetCore.Html +@using Microsoft.Extensions.HealthChecks +@model WebStatus.Viewmodels.HealthStatusViewModel @{ ViewData["Title"] = "System Status"; + +} + +@functions +{ + static readonly string[] LabelClass = new[] { "default", "danger", "success", "warning" }; + + public HtmlString StatusLabel(CheckStatus status) + { + return new HtmlString($@"{status}"); + } + } + +
-

Overall Status: @Model.OverallStatus

+

Overall Status: @StatusLabel(Model.OverallStatus)

@@ -15,33 +31,21 @@ @foreach (var result in Model.Results) {
-
+

@result.Name

- @if (result.Result.Data.ContainsKey("url")) { -

@result.Result.Data["url"]

+ @if (result.Result.Data.ContainsKey("url")) + { +

@result.Result.Data["url"]

} - @result.Result.Description +

+ @result.Result.Description +

-
- @if (@result.Result.CheckStatus == Microsoft.Extensions.HealthChecks.CheckStatus.Healthy) - { - @result.Result.CheckStatus - } - else if (@result.Result.CheckStatus == Microsoft.Extensions.HealthChecks.CheckStatus.Unhealthy) - { - @result.Result.CheckStatus - } - else if (@result.Result.CheckStatus == Microsoft.Extensions.HealthChecks.CheckStatus.Warning) - { - @result.Result.CheckStatus - } - else - { - @result.Result.CheckStatus - } +
+

@StatusLabel(result.Result.CheckStatus)

-
+
}
\ No newline at end of file diff --git a/src/Web/WebStatus/appsettings.json b/src/Web/WebStatus/appsettings.json index bf413fcbf..2ab5ad818 100644 --- a/src/Web/WebStatus/appsettings.json +++ b/src/Web/WebStatus/appsettings.json @@ -8,6 +8,7 @@ } }, "OrderingUrl": "http://localhost:5102/hc", + "OrderingBackgroundTasksUrl": "http://localhost:5111/hc", "BasketUrl": "http://localhost:5103/hc", "CatalogUrl": "http://localhost:5101/hc", "IdentityUrl": "http://localhost:5105/hc",