diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml index 947fc9e..df510c9 100644 --- a/.github/workflows/createrelease.yml +++ b/.github/workflows/createrelease.yml @@ -28,16 +28,19 @@ jobs: run: | dotnet restore TransactionProcessing.MerchantPos/TransactionProcessing.MerchantPos.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} dotnet restore TransactionProcessing.MerchantFileProcessor/TransactionProcessing.MerchantFileProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} + dotnet restore HealthMonitoring/HealthMonitoring/HealthMonitoring.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} - name: Build Code run: | dotnet build TransactionProcessing.MerchantPos/TransactionProcessing.MerchantPos.sln --configuration Release dotnet build TransactionProcessing.MerchantFileProcessor/TransactionProcessing.MerchantFileProcessor.sln --configuration Release + dotnet build HealthMonitoring/HealthMonitoring/HealthMonitoring.sln --configuration Release - name: Publish API run: | dotnet publish "TransactionProcessing.MerchantPos/TransactionProcessing.MerchantPos.csproj" --configuration Release --output TransactionProcessing.MerchantPos/publishOutput -r win-x64 --self-contained dotnet publish "TransactionProcessing.MerchantFileProcessor/TransactionProcessing.MerchantFileProcessor.csproj" --configuration Release --output TransactionProcessing.MerchantFileProcessor/publishOutput -r win-x64 --self-contained + dotnet publish "HealthMonitoring/HealthMonitoring/HealthMonitoring.csproj" --configuration Release --output HealthMonitoring/publishOutput -r win-x64 --self-contained - name: Build Release Package (Merchant Pos) run: | @@ -69,10 +72,22 @@ jobs: name: scheduledtasks path: ScheduledTasks + - name: Build Release Package (Health Monitoring) + run: | + cd /home/runner/work/SupportTools/SupportTools/HealthMonitoring/publishOutput + zip -r ../healthmonitoring.zip ./* + echo "Zip file created at: $(realpath ../healthmonitoring.zip)" + + - name: Upload the artifact (Health Monitoring) + uses: actions/upload-artifact@v4.4.0 + with: + name: healthmonitoring + path: /home/runner/work/SupportTools/SupportTools/HealthMonitoring/healthmonitoring.zip + - name: Build and Publish Nuget Packages if: ${{ github.event.release.prerelease == false }} run: | - dotnet pack "HealthMonitoring.Client\HealthMonitoring.Client.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets + dotnet pack "HealthMonitoring\HealthMonitoring.Client\HealthMonitoring.Client.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets dotnet nuget push Nugets/HealthMonitoring.Client.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} --skip-duplicate buildsqlagentjobdeploymenttool: @@ -284,6 +299,32 @@ jobs: New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic Start-Service -Name $serviceName + - name: Download the artifact (Health Monitoring) + uses: actions/download-artifact@v4.1.8 + with: + name: healthmonitoring + + - name: Remove existing Windows service (Health Monitoring) + run: | + $serviceName = "Transaction Processing - Health Monitoring" + # Check if the service exists + if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { + Stop-Service -Name $serviceName + sc.exe delete $serviceName + } + + - name: Unzip the files (Health Monitoring) + run: | + Expand-Archive -Path healthmonitoring.zip -DestinationPath "C:\txnproc\transactionprocessing\healthmonitoring" -Force + + - name: Install as a Windows service (Health Monitoring) + run: | + $serviceName = "Transaction Processing - Health Monitoring" + $servicePath = "C:\txnproc\transactionprocessing\healthmonitoring\HealthMonitoring.exe" + + New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic + Start-Service -Name $serviceName + deployproduction: runs-on: [productionserver, windows] needs: [build, buildsqlagentjobdeploymenttool, deploystaging] @@ -452,3 +493,29 @@ jobs: New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic Start-Service -Name $serviceName + + - name: Download the artifact (Health Monitoring) + uses: actions/download-artifact@v4.1.8 + with: + name: healthmonitoring + + - name: Remove existing Windows service (Health Monitoring) + run: | + $serviceName = "Transaction Processing - Health Monitoring" + # Check if the service exists + if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { + Stop-Service -Name $serviceName + sc.exe delete $serviceName + } + + - name: Unzip the files (Health Monitoring) + run: | + Expand-Archive -Path healthmonitoring.zip -DestinationPath "C:\txnproc\transactionprocessing\healthmonitoring" -Force + + - name: Install as a Windows service (Health Monitoring) + run: | + $serviceName = "Transaction Processing - Health Monitoring" + $servicePath = "C:\txnproc\transactionprocessing\healthmonitoring\HealthMonitoring.exe" + + New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic + Start-Service -Name $serviceName diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 5baf467..970b746 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -72,7 +72,7 @@ jobs: dotnet-version: '10.0.x' - name: Restore Health Monitoring solution - run: dotnet restore HealthMonitoring/HealthMonitoring.sln + run: dotnet restore HealthMonitoring/HealthMonitoring/HealthMonitoring.sln - name: Run Health Monitoring unit tests - run: dotnet test HealthMonitoring.Tests/HealthMonitoring.Tests.csproj --configuration Release --no-restore --filter "FullyQualifiedName!~ConfigurationTests" + run: dotnet test HealthMonitoring/HealthMonitoring.Tests/HealthMonitoring.Tests.csproj --configuration Release --no-restore --filter "FullyQualifiedName!~ConfigurationTests" diff --git a/.github/workflows/pushtomain.yml b/.github/workflows/pushtomain.yml index 28eb1ea..b1faf4c 100644 --- a/.github/workflows/pushtomain.yml +++ b/.github/workflows/pushtomain.yml @@ -43,16 +43,19 @@ jobs: run: | dotnet restore TransactionProcessing.MerchantPos/TransactionProcessing.MerchantPos.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} dotnet restore TransactionProcessing.MerchantFileProcessor/TransactionProcessing.MerchantFileProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} + dotnet restore HealthMonitoring/HealthMonitoring/HealthMonitoring.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} - name: Build Code run: | dotnet build TransactionProcessing.MerchantPos/TransactionProcessing.MerchantPos.sln --configuration Release dotnet build TransactionProcessing.MerchantFileProcessor/TransactionProcessing.MerchantFileProcessor.sln --configuration Release + dotnet build HealthMonitoring/HealthMonitoring/HealthMonitoring.sln --configuration Release - name: Publish API run: | dotnet publish "TransactionProcessing.MerchantPos/TransactionProcessing.MerchantPos.csproj" --configuration Release --output TransactionProcessing.MerchantPos/publishOutput -r win-x64 --self-contained dotnet publish "TransactionProcessing.MerchantFileProcessor/TransactionProcessing.MerchantFileProcessor.csproj" --configuration Release --output TransactionProcessing.MerchantFileProcessor/publishOutput -r win-x64 --self-contained + dotnet publish "HealthMonitoring/HealthMonitoring/HealthMonitoring.csproj" --configuration Release --output HealthMonitoring/publishOutput -r win-x64 --self-contained - name: Build Release Package (Merchant Pos) run: | @@ -83,10 +86,22 @@ jobs: with: name: scheduledtasks path: ScheduledTasks - + + - name: Build Release Package (Health Monitoring) + run: | + cd /home/runner/work/SupportTools/SupportTools/HealthMonitoring/publishOutput + zip -r ../healthmonitoring.zip ./* + echo "Zip file created at: $(realpath ../healthmonitoring.zip)" + + - name: Upload the artifact (Health Monitoring) + uses: actions/upload-artifact@v4.4.0 + with: + name: healthmonitoring + path: /home/runner/work/SupportTools/SupportTools/HealthMonitoring/healthmonitoring.zip + - name: Build and Publish Nuget Packages run: | - dotnet pack "HealthMonitoring.Client\HealthMonitoring.Client.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets + dotnet pack "HealthMonitoring\HealthMonitoring.Client\HealthMonitoring.Client.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets dotnet nuget push Nugets/HealthMonitoring.Client.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} buildsqlagentjobdeploymenttool: @@ -297,3 +312,29 @@ jobs: New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic Start-Service -Name $serviceName + + - name: Download the artifact (Health Monitoring) + uses: actions/download-artifact@v4.1.8 + with: + name: healthmonitoring + + - name: Remove existing Windows service (Health Monitoring) + run: | + $serviceName = "Transaction Processing - Health Monitoring" + # Check if the service exists + if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { + Stop-Service -Name $serviceName + sc.exe delete $serviceName + } + + - name: Unzip the files (Health Monitoring) + run: | + Expand-Archive -Path healthmonitoring.zip -DestinationPath "C:\txnproc\transactionprocessing\healthmonitoring" -Force + + - name: Install as a Windows service (Health Monitoring) + run: | + $serviceName = "Transaction Processing - Health Monitoring" + $servicePath = "C:\txnproc\transactionprocessing\healthmonitoring\HealthMonitoring.exe" + + New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic + Start-Service -Name $serviceName diff --git a/HealthMonitoring.Client/HealthMonitoring.Client.csproj b/HealthMonitoring/HealthMonitoring.Client/HealthMonitoring.Client.csproj similarity index 100% rename from HealthMonitoring.Client/HealthMonitoring.Client.csproj rename to HealthMonitoring/HealthMonitoring.Client/HealthMonitoring.Client.csproj diff --git a/HealthMonitoring.Client/HealthMonitoringRegistrationClient.cs b/HealthMonitoring/HealthMonitoring.Client/HealthMonitoringRegistrationClient.cs similarity index 100% rename from HealthMonitoring.Client/HealthMonitoringRegistrationClient.cs rename to HealthMonitoring/HealthMonitoring.Client/HealthMonitoringRegistrationClient.cs diff --git a/HealthMonitoring.Client/HealthMonitoringRegistrationExtensions.cs b/HealthMonitoring/HealthMonitoring.Client/HealthMonitoringRegistrationExtensions.cs similarity index 100% rename from HealthMonitoring.Client/HealthMonitoringRegistrationExtensions.cs rename to HealthMonitoring/HealthMonitoring.Client/HealthMonitoringRegistrationExtensions.cs diff --git a/HealthMonitoring.Client/README.md b/HealthMonitoring/HealthMonitoring.Client/README.md similarity index 100% rename from HealthMonitoring.Client/README.md rename to HealthMonitoring/HealthMonitoring.Client/README.md diff --git a/HealthMonitoring.Tests/Api/ServiceConfigurationValidatorTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Api/ServiceConfigurationValidatorTests.cs similarity index 100% rename from HealthMonitoring.Tests/Api/ServiceConfigurationValidatorTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Api/ServiceConfigurationValidatorTests.cs diff --git a/HealthMonitoring.Tests/Api/ServiceRegistrationLoggingTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Api/ServiceRegistrationLoggingTests.cs similarity index 100% rename from HealthMonitoring.Tests/Api/ServiceRegistrationLoggingTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Api/ServiceRegistrationLoggingTests.cs diff --git a/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationClientTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationClientTests.cs similarity index 98% rename from HealthMonitoring.Tests/Client/HealthMonitoringRegistrationClientTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationClientTests.cs index 26feae4..55b40d4 100644 --- a/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationClientTests.cs +++ b/HealthMonitoring/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationClientTests.cs @@ -34,7 +34,8 @@ public async Task RegisterAsync_posts_service_configuration_and_returns_acknowle PollingInterval = TimeSpan.FromSeconds(30), RequestTimeout = TimeSpan.FromSeconds(8), RetentionPeriod = TimeSpan.FromDays(90), - IgnoreCertificateErrors = true + IgnoreCertificateErrors = true, + Version = "1.2.3" }); Assert.Equal("created", result.Action); @@ -46,6 +47,7 @@ public async Task RegisterAsync_posts_service_configuration_and_returns_acknowle Assert.Equal(0, payload.MonitorType); Assert.Equal(30, payload.PollingIntervalSeconds); Assert.True(payload.IgnoreCertificateErrors); + Assert.Equal("1.2.3", payload.Version); } [Fact] @@ -132,6 +134,7 @@ private sealed class ServiceRegistrationPayload public int MonitorType { get; set; } public int PollingIntervalSeconds { get; set; } public bool IgnoreCertificateErrors { get; set; } + public string? Version { get; set; } } private sealed class DependencyMappingPayload diff --git a/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationExtensionsTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationExtensionsTests.cs similarity index 97% rename from HealthMonitoring.Tests/Client/HealthMonitoringRegistrationExtensionsTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationExtensionsTests.cs index 9584cca..fdae71a 100644 --- a/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationExtensionsTests.cs +++ b/HealthMonitoring/HealthMonitoring.Tests/Client/HealthMonitoringRegistrationExtensionsTests.cs @@ -18,6 +18,7 @@ public void Configuration_registration_binds_service_settings_and_adds_startup_r ["HealthMonitoring:Service:Name"] = "Mobile Configuration", ["HealthMonitoring:Service:HealthUrl"] = "https://mobile.example/healthui", ["HealthMonitoring:Service:Description"] = "Mobile Configuration", + ["HealthMonitoring:Service:Version"] = "1.2.3", ["HealthMonitoring:Service:PollingInterval"] = "00:02:00", ["HealthMonitoring:Dependencies:0:DependencyName"] = "Security Service", ["HealthMonitoring:Dependencies:0:TargetServiceId"] = "security-service" @@ -33,6 +34,7 @@ public void Configuration_registration_binds_service_settings_and_adds_startup_r Assert.Equal(new Uri("https://monitoring.example/"), options.MonitoringServerUrl); Assert.Equal("mobile-configuration", options.Service.ServiceId); + Assert.Equal("1.2.3", options.Service.Version); Assert.Equal(TimeSpan.FromMinutes(2), options.Service.PollingInterval); Assert.Single(options.Dependencies); Assert.Contains(provider.GetServices(), service => service is HealthMonitoringRegistrationHostedService); diff --git a/HealthMonitoring.Tests/Components/DashboardApiUriTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Components/DashboardApiUriTests.cs similarity index 100% rename from HealthMonitoring.Tests/Components/DashboardApiUriTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Components/DashboardApiUriTests.cs diff --git a/HealthMonitoring.Tests/ConfigurationTests.cs b/HealthMonitoring/HealthMonitoring.Tests/ConfigurationTests.cs similarity index 100% rename from HealthMonitoring.Tests/ConfigurationTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/ConfigurationTests.cs diff --git a/HealthMonitoring.Tests/Domain/HealthStatusNormalizerTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Domain/HealthStatusNormalizerTests.cs similarity index 100% rename from HealthMonitoring.Tests/Domain/HealthStatusNormalizerTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Domain/HealthStatusNormalizerTests.cs diff --git a/HealthMonitoring.Tests/HealthMonitoring.Tests.csproj b/HealthMonitoring/HealthMonitoring.Tests/HealthMonitoring.Tests.csproj similarity index 100% rename from HealthMonitoring.Tests/HealthMonitoring.Tests.csproj rename to HealthMonitoring/HealthMonitoring.Tests/HealthMonitoring.Tests.csproj diff --git a/HealthMonitoring.Tests/HealthMonitoringServiceRegistrationTests.cs b/HealthMonitoring/HealthMonitoring.Tests/HealthMonitoringServiceRegistrationTests.cs similarity index 100% rename from HealthMonitoring.Tests/HealthMonitoringServiceRegistrationTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/HealthMonitoringServiceRegistrationTests.cs diff --git a/HealthMonitoring.Tests/HostSmokeTests.cs b/HealthMonitoring/HealthMonitoring.Tests/HostSmokeTests.cs similarity index 100% rename from HealthMonitoring.Tests/HostSmokeTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/HostSmokeTests.cs diff --git a/HealthMonitoring.Tests/Monitoring/HealthEndpointClientTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Monitoring/HealthEndpointClientTests.cs similarity index 100% rename from HealthMonitoring.Tests/Monitoring/HealthEndpointClientTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Monitoring/HealthEndpointClientTests.cs diff --git a/HealthMonitoring.Tests/Monitoring/IncidentCalculatorTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Monitoring/IncidentCalculatorTests.cs similarity index 100% rename from HealthMonitoring.Tests/Monitoring/IncidentCalculatorTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Monitoring/IncidentCalculatorTests.cs diff --git a/HealthMonitoring.Tests/Monitoring/InitializationStateTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Monitoring/InitializationStateTests.cs similarity index 100% rename from HealthMonitoring.Tests/Monitoring/InitializationStateTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Monitoring/InitializationStateTests.cs diff --git a/HealthMonitoring.Tests/Monitoring/KurrentDbMonitorClientTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Monitoring/KurrentDbMonitorClientTests.cs similarity index 100% rename from HealthMonitoring.Tests/Monitoring/KurrentDbMonitorClientTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Monitoring/KurrentDbMonitorClientTests.cs diff --git a/HealthMonitoring.Tests/Monitoring/SqlServerMonitorClientTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Monitoring/SqlServerMonitorClientTests.cs similarity index 100% rename from HealthMonitoring.Tests/Monitoring/SqlServerMonitorClientTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Monitoring/SqlServerMonitorClientTests.cs diff --git a/HealthMonitoring.Tests/Persistence/DependencyMappingTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Persistence/DependencyMappingTests.cs similarity index 100% rename from HealthMonitoring.Tests/Persistence/DependencyMappingTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Persistence/DependencyMappingTests.cs diff --git a/HealthMonitoring.Tests/Persistence/HealthMonitoringMigrationsTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Persistence/HealthMonitoringMigrationsTests.cs similarity index 100% rename from HealthMonitoring.Tests/Persistence/HealthMonitoringMigrationsTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Persistence/HealthMonitoringMigrationsTests.cs diff --git a/HealthMonitoring.Tests/Persistence/RepositoryTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Persistence/RepositoryTests.cs similarity index 100% rename from HealthMonitoring.Tests/Persistence/RepositoryTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Persistence/RepositoryTests.cs diff --git a/HealthMonitoring.Tests/Persistence/TimeSpanMappingTests.cs b/HealthMonitoring/HealthMonitoring.Tests/Persistence/TimeSpanMappingTests.cs similarity index 100% rename from HealthMonitoring.Tests/Persistence/TimeSpanMappingTests.cs rename to HealthMonitoring/HealthMonitoring.Tests/Persistence/TimeSpanMappingTests.cs diff --git a/HealthMonitoring.Tests/Usings.cs b/HealthMonitoring/HealthMonitoring.Tests/Usings.cs similarity index 100% rename from HealthMonitoring.Tests/Usings.cs rename to HealthMonitoring/HealthMonitoring.Tests/Usings.cs diff --git a/HealthMonitoring/Api/DependencyMappingContracts.cs b/HealthMonitoring/HealthMonitoring/Api/DependencyMappingContracts.cs similarity index 100% rename from HealthMonitoring/Api/DependencyMappingContracts.cs rename to HealthMonitoring/HealthMonitoring/Api/DependencyMappingContracts.cs diff --git a/HealthMonitoring/Api/DependencyMappingEndpoints.cs b/HealthMonitoring/HealthMonitoring/Api/DependencyMappingEndpoints.cs similarity index 100% rename from HealthMonitoring/Api/DependencyMappingEndpoints.cs rename to HealthMonitoring/HealthMonitoring/Api/DependencyMappingEndpoints.cs diff --git a/HealthMonitoring/Api/InitializationEndpoints.cs b/HealthMonitoring/HealthMonitoring/Api/InitializationEndpoints.cs similarity index 100% rename from HealthMonitoring/Api/InitializationEndpoints.cs rename to HealthMonitoring/HealthMonitoring/Api/InitializationEndpoints.cs diff --git a/HealthMonitoring/Api/ServiceConfigurationValidator.cs b/HealthMonitoring/HealthMonitoring/Api/ServiceConfigurationValidator.cs similarity index 100% rename from HealthMonitoring/Api/ServiceConfigurationValidator.cs rename to HealthMonitoring/HealthMonitoring/Api/ServiceConfigurationValidator.cs diff --git a/HealthMonitoring/Api/ServiceRegistrationContracts.cs b/HealthMonitoring/HealthMonitoring/Api/ServiceRegistrationContracts.cs similarity index 100% rename from HealthMonitoring/Api/ServiceRegistrationContracts.cs rename to HealthMonitoring/HealthMonitoring/Api/ServiceRegistrationContracts.cs diff --git a/HealthMonitoring/Api/ServiceRegistrationEndpoints.cs b/HealthMonitoring/HealthMonitoring/Api/ServiceRegistrationEndpoints.cs similarity index 100% rename from HealthMonitoring/Api/ServiceRegistrationEndpoints.cs rename to HealthMonitoring/HealthMonitoring/Api/ServiceRegistrationEndpoints.cs diff --git a/HealthMonitoring/Components/App.razor b/HealthMonitoring/HealthMonitoring/Components/App.razor similarity index 100% rename from HealthMonitoring/Components/App.razor rename to HealthMonitoring/HealthMonitoring/Components/App.razor diff --git a/HealthMonitoring/Components/DashboardApiUri.cs b/HealthMonitoring/HealthMonitoring/Components/DashboardApiUri.cs similarity index 100% rename from HealthMonitoring/Components/DashboardApiUri.cs rename to HealthMonitoring/HealthMonitoring/Components/DashboardApiUri.cs diff --git a/HealthMonitoring/Components/InitializationGate.razor b/HealthMonitoring/HealthMonitoring/Components/InitializationGate.razor similarity index 100% rename from HealthMonitoring/Components/InitializationGate.razor rename to HealthMonitoring/HealthMonitoring/Components/InitializationGate.razor diff --git a/HealthMonitoring/Components/Layout/MainLayout.razor b/HealthMonitoring/HealthMonitoring/Components/Layout/MainLayout.razor similarity index 100% rename from HealthMonitoring/Components/Layout/MainLayout.razor rename to HealthMonitoring/HealthMonitoring/Components/Layout/MainLayout.razor diff --git a/HealthMonitoring/Components/Pages/DependencyLinks.razor b/HealthMonitoring/HealthMonitoring/Components/Pages/DependencyLinks.razor similarity index 100% rename from HealthMonitoring/Components/Pages/DependencyLinks.razor rename to HealthMonitoring/HealthMonitoring/Components/Pages/DependencyLinks.razor diff --git a/HealthMonitoring/Components/Pages/InitialisationOverview.razor b/HealthMonitoring/HealthMonitoring/Components/Pages/InitialisationOverview.razor similarity index 100% rename from HealthMonitoring/Components/Pages/InitialisationOverview.razor rename to HealthMonitoring/HealthMonitoring/Components/Pages/InitialisationOverview.razor diff --git a/HealthMonitoring/Components/Pages/Initialise.razor b/HealthMonitoring/HealthMonitoring/Components/Pages/Initialise.razor similarity index 100% rename from HealthMonitoring/Components/Pages/Initialise.razor rename to HealthMonitoring/HealthMonitoring/Components/Pages/Initialise.razor diff --git a/HealthMonitoring/Components/Pages/Overview.razor b/HealthMonitoring/HealthMonitoring/Components/Pages/Overview.razor similarity index 100% rename from HealthMonitoring/Components/Pages/Overview.razor rename to HealthMonitoring/HealthMonitoring/Components/Pages/Overview.razor diff --git a/HealthMonitoring/Components/Pages/ServiceDetail.razor b/HealthMonitoring/HealthMonitoring/Components/Pages/ServiceDetail.razor similarity index 100% rename from HealthMonitoring/Components/Pages/ServiceDetail.razor rename to HealthMonitoring/HealthMonitoring/Components/Pages/ServiceDetail.razor diff --git a/HealthMonitoring/Components/Pages/ServiceRegister.razor b/HealthMonitoring/HealthMonitoring/Components/Pages/ServiceRegister.razor similarity index 100% rename from HealthMonitoring/Components/Pages/ServiceRegister.razor rename to HealthMonitoring/HealthMonitoring/Components/Pages/ServiceRegister.razor diff --git a/HealthMonitoring/Components/Routes.razor b/HealthMonitoring/HealthMonitoring/Components/Routes.razor similarity index 100% rename from HealthMonitoring/Components/Routes.razor rename to HealthMonitoring/HealthMonitoring/Components/Routes.razor diff --git a/HealthMonitoring/Components/Shared/StatCard.razor b/HealthMonitoring/HealthMonitoring/Components/Shared/StatCard.razor similarity index 100% rename from HealthMonitoring/Components/Shared/StatCard.razor rename to HealthMonitoring/HealthMonitoring/Components/Shared/StatCard.razor diff --git a/HealthMonitoring/Components/Shared/StatusBadge.razor b/HealthMonitoring/HealthMonitoring/Components/Shared/StatusBadge.razor similarity index 100% rename from HealthMonitoring/Components/Shared/StatusBadge.razor rename to HealthMonitoring/HealthMonitoring/Components/Shared/StatusBadge.razor diff --git a/HealthMonitoring/Components/_Imports.razor b/HealthMonitoring/HealthMonitoring/Components/_Imports.razor similarity index 100% rename from HealthMonitoring/Components/_Imports.razor rename to HealthMonitoring/HealthMonitoring/Components/_Imports.razor diff --git a/HealthMonitoring/Dockerfile b/HealthMonitoring/HealthMonitoring/Dockerfile similarity index 100% rename from HealthMonitoring/Dockerfile rename to HealthMonitoring/HealthMonitoring/Dockerfile diff --git a/HealthMonitoring/Domain/HealthCheckResult.cs b/HealthMonitoring/HealthMonitoring/Domain/HealthCheckResult.cs similarity index 100% rename from HealthMonitoring/Domain/HealthCheckResult.cs rename to HealthMonitoring/HealthMonitoring/Domain/HealthCheckResult.cs diff --git a/HealthMonitoring/Domain/HealthObservation.cs b/HealthMonitoring/HealthMonitoring/Domain/HealthObservation.cs similarity index 100% rename from HealthMonitoring/Domain/HealthObservation.cs rename to HealthMonitoring/HealthMonitoring/Domain/HealthObservation.cs diff --git a/HealthMonitoring/Domain/HealthResponseModels.cs b/HealthMonitoring/HealthMonitoring/Domain/HealthResponseModels.cs similarity index 100% rename from HealthMonitoring/Domain/HealthResponseModels.cs rename to HealthMonitoring/HealthMonitoring/Domain/HealthResponseModels.cs diff --git a/HealthMonitoring/Domain/HealthStatus.cs b/HealthMonitoring/HealthMonitoring/Domain/HealthStatus.cs similarity index 100% rename from HealthMonitoring/Domain/HealthStatus.cs rename to HealthMonitoring/HealthMonitoring/Domain/HealthStatus.cs diff --git a/HealthMonitoring/Domain/HealthStatusNormalizer.cs b/HealthMonitoring/HealthMonitoring/Domain/HealthStatusNormalizer.cs similarity index 100% rename from HealthMonitoring/Domain/HealthStatusNormalizer.cs rename to HealthMonitoring/HealthMonitoring/Domain/HealthStatusNormalizer.cs diff --git a/HealthMonitoring/Domain/IHealthStatusNormalizer.cs b/HealthMonitoring/HealthMonitoring/Domain/IHealthStatusNormalizer.cs similarity index 100% rename from HealthMonitoring/Domain/IHealthStatusNormalizer.cs rename to HealthMonitoring/HealthMonitoring/Domain/IHealthStatusNormalizer.cs diff --git a/HealthMonitoring/Domain/MonitorType.cs b/HealthMonitoring/HealthMonitoring/Domain/MonitorType.cs similarity index 100% rename from HealthMonitoring/Domain/MonitorType.cs rename to HealthMonitoring/HealthMonitoring/Domain/MonitorType.cs diff --git a/HealthMonitoring/Domain/MonitoredService.cs b/HealthMonitoring/HealthMonitoring/Domain/MonitoredService.cs similarity index 100% rename from HealthMonitoring/Domain/MonitoredService.cs rename to HealthMonitoring/HealthMonitoring/Domain/MonitoredService.cs diff --git a/HealthMonitoring/Domain/ServiceDependencyLink.cs b/HealthMonitoring/HealthMonitoring/Domain/ServiceDependencyLink.cs similarity index 100% rename from HealthMonitoring/Domain/ServiceDependencyLink.cs rename to HealthMonitoring/HealthMonitoring/Domain/ServiceDependencyLink.cs diff --git a/HealthMonitoring/Domain/ServiceIncident.cs b/HealthMonitoring/HealthMonitoring/Domain/ServiceIncident.cs similarity index 100% rename from HealthMonitoring/Domain/ServiceIncident.cs rename to HealthMonitoring/HealthMonitoring/Domain/ServiceIncident.cs diff --git a/HealthMonitoring/Domain/ServiceStatusSnapshot.cs b/HealthMonitoring/HealthMonitoring/Domain/ServiceStatusSnapshot.cs similarity index 100% rename from HealthMonitoring/Domain/ServiceStatusSnapshot.cs rename to HealthMonitoring/HealthMonitoring/Domain/ServiceStatusSnapshot.cs diff --git a/HealthMonitoring/Domain/StatusPolicy.cs b/HealthMonitoring/HealthMonitoring/Domain/StatusPolicy.cs similarity index 100% rename from HealthMonitoring/Domain/StatusPolicy.cs rename to HealthMonitoring/HealthMonitoring/Domain/StatusPolicy.cs diff --git a/HealthMonitoring/Health/MonitoringHealthChecks.cs b/HealthMonitoring/HealthMonitoring/Health/MonitoringHealthChecks.cs similarity index 100% rename from HealthMonitoring/Health/MonitoringHealthChecks.cs rename to HealthMonitoring/HealthMonitoring/Health/MonitoringHealthChecks.cs diff --git a/HealthMonitoring/HealthMonitoring.csproj b/HealthMonitoring/HealthMonitoring/HealthMonitoring.csproj similarity index 91% rename from HealthMonitoring/HealthMonitoring.csproj rename to HealthMonitoring/HealthMonitoring/HealthMonitoring.csproj index 1989f69..7f342d7 100644 --- a/HealthMonitoring/HealthMonitoring.csproj +++ b/HealthMonitoring/HealthMonitoring/HealthMonitoring.csproj @@ -19,5 +19,6 @@ + diff --git a/HealthMonitoring/HealthMonitoring.sln b/HealthMonitoring/HealthMonitoring/HealthMonitoring.sln similarity index 100% rename from HealthMonitoring/HealthMonitoring.sln rename to HealthMonitoring/HealthMonitoring/HealthMonitoring.sln diff --git a/HealthMonitoring/Migrations/20260919092909_InitialCreate.Designer.cs b/HealthMonitoring/HealthMonitoring/Migrations/20260919092909_InitialCreate.Designer.cs similarity index 100% rename from HealthMonitoring/Migrations/20260919092909_InitialCreate.Designer.cs rename to HealthMonitoring/HealthMonitoring/Migrations/20260919092909_InitialCreate.Designer.cs diff --git a/HealthMonitoring/Migrations/20260919092909_InitialCreate.cs b/HealthMonitoring/HealthMonitoring/Migrations/20260919092909_InitialCreate.cs similarity index 100% rename from HealthMonitoring/Migrations/20260919092909_InitialCreate.cs rename to HealthMonitoring/HealthMonitoring/Migrations/20260919092909_InitialCreate.cs diff --git a/HealthMonitoring/Migrations/HealthMonitoringDbContextModelSnapshot.cs b/HealthMonitoring/HealthMonitoring/Migrations/HealthMonitoringDbContextModelSnapshot.cs similarity index 100% rename from HealthMonitoring/Migrations/HealthMonitoringDbContextModelSnapshot.cs rename to HealthMonitoring/HealthMonitoring/Migrations/HealthMonitoringDbContextModelSnapshot.cs diff --git a/HealthMonitoring/Monitoring/HealthEndpointClient.cs b/HealthMonitoring/HealthMonitoring/Monitoring/HealthEndpointClient.cs similarity index 100% rename from HealthMonitoring/Monitoring/HealthEndpointClient.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/HealthEndpointClient.cs diff --git a/HealthMonitoring/Monitoring/HealthMonitoringServiceCollectionExtensions.cs b/HealthMonitoring/HealthMonitoring/Monitoring/HealthMonitoringServiceCollectionExtensions.cs similarity index 100% rename from HealthMonitoring/Monitoring/HealthMonitoringServiceCollectionExtensions.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/HealthMonitoringServiceCollectionExtensions.cs diff --git a/HealthMonitoring/Monitoring/HealthPollingWorker.cs b/HealthMonitoring/HealthMonitoring/Monitoring/HealthPollingWorker.cs similarity index 100% rename from HealthMonitoring/Monitoring/HealthPollingWorker.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/HealthPollingWorker.cs diff --git a/HealthMonitoring/Monitoring/IncidentCalculator.cs b/HealthMonitoring/HealthMonitoring/Monitoring/IncidentCalculator.cs similarity index 100% rename from HealthMonitoring/Monitoring/IncidentCalculator.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/IncidentCalculator.cs diff --git a/HealthMonitoring/Monitoring/InitializationService.cs b/HealthMonitoring/HealthMonitoring/Monitoring/InitializationService.cs similarity index 100% rename from HealthMonitoring/Monitoring/InitializationService.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/InitializationService.cs diff --git a/HealthMonitoring/Monitoring/KurrentDbMonitorClient.cs b/HealthMonitoring/HealthMonitoring/Monitoring/KurrentDbMonitorClient.cs similarity index 100% rename from HealthMonitoring/Monitoring/KurrentDbMonitorClient.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/KurrentDbMonitorClient.cs diff --git a/HealthMonitoring/Monitoring/RetentionCleanupWorker.cs b/HealthMonitoring/HealthMonitoring/Monitoring/RetentionCleanupWorker.cs similarity index 100% rename from HealthMonitoring/Monitoring/RetentionCleanupWorker.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/RetentionCleanupWorker.cs diff --git a/HealthMonitoring/Monitoring/SqlServerMonitorClient.cs b/HealthMonitoring/HealthMonitoring/Monitoring/SqlServerMonitorClient.cs similarity index 100% rename from HealthMonitoring/Monitoring/SqlServerMonitorClient.cs rename to HealthMonitoring/HealthMonitoring/Monitoring/SqlServerMonitorClient.cs diff --git a/HealthMonitoring/Persistence/HealthMonitoringDbContext.cs b/HealthMonitoring/HealthMonitoring/Persistence/HealthMonitoringDbContext.cs similarity index 100% rename from HealthMonitoring/Persistence/HealthMonitoringDbContext.cs rename to HealthMonitoring/HealthMonitoring/Persistence/HealthMonitoringDbContext.cs diff --git a/HealthMonitoring/Persistence/HealthMonitoringRepository.cs b/HealthMonitoring/HealthMonitoring/Persistence/HealthMonitoringRepository.cs similarity index 100% rename from HealthMonitoring/Persistence/HealthMonitoringRepository.cs rename to HealthMonitoring/HealthMonitoring/Persistence/HealthMonitoringRepository.cs diff --git a/HealthMonitoring/Persistence/IHealthMonitoringRepository.cs b/HealthMonitoring/HealthMonitoring/Persistence/IHealthMonitoringRepository.cs similarity index 100% rename from HealthMonitoring/Persistence/IHealthMonitoringRepository.cs rename to HealthMonitoring/HealthMonitoring/Persistence/IHealthMonitoringRepository.cs diff --git a/HealthMonitoring/Program.cs b/HealthMonitoring/HealthMonitoring/Program.cs similarity index 94% rename from HealthMonitoring/Program.cs rename to HealthMonitoring/HealthMonitoring/Program.cs index 30983b3..2282532 100644 --- a/HealthMonitoring/Program.cs +++ b/HealthMonitoring/HealthMonitoring/Program.cs @@ -10,6 +10,11 @@ var builder = WebApplication.CreateBuilder(args); +builder.Services.AddWindowsService(options => +{ + options.ServiceName = "Transaction Processing - Health Monitoring"; +}); + builder.Configuration.AddJsonFile("hosting.json", optional: true, reloadOnChange: true); builder.Services.AddSingleton(new InitializationOptions { diff --git a/HealthMonitoring/Properties/launchSettings.json b/HealthMonitoring/HealthMonitoring/Properties/launchSettings.json similarity index 100% rename from HealthMonitoring/Properties/launchSettings.json rename to HealthMonitoring/HealthMonitoring/Properties/launchSettings.json diff --git a/HealthMonitoring/Reporting/DashboardModels.cs b/HealthMonitoring/HealthMonitoring/Reporting/DashboardModels.cs similarity index 100% rename from HealthMonitoring/Reporting/DashboardModels.cs rename to HealthMonitoring/HealthMonitoring/Reporting/DashboardModels.cs diff --git a/HealthMonitoring/Reporting/DashboardQueryService.cs b/HealthMonitoring/HealthMonitoring/Reporting/DashboardQueryService.cs similarity index 100% rename from HealthMonitoring/Reporting/DashboardQueryService.cs rename to HealthMonitoring/HealthMonitoring/Reporting/DashboardQueryService.cs diff --git a/HealthMonitoring/appsettings.json b/HealthMonitoring/HealthMonitoring/appsettings.json similarity index 100% rename from HealthMonitoring/appsettings.json rename to HealthMonitoring/HealthMonitoring/appsettings.json diff --git a/HealthMonitoring/docker-compose.sqlserver.yml b/HealthMonitoring/HealthMonitoring/docker-compose.sqlserver.yml similarity index 100% rename from HealthMonitoring/docker-compose.sqlserver.yml rename to HealthMonitoring/HealthMonitoring/docker-compose.sqlserver.yml diff --git a/HealthMonitoring/hosting.json b/HealthMonitoring/HealthMonitoring/hosting.json similarity index 100% rename from HealthMonitoring/hosting.json rename to HealthMonitoring/HealthMonitoring/hosting.json diff --git a/HealthMonitoring/wwwroot/app.css b/HealthMonitoring/HealthMonitoring/wwwroot/app.css similarity index 100% rename from HealthMonitoring/wwwroot/app.css rename to HealthMonitoring/HealthMonitoring/wwwroot/app.css diff --git a/HealthMonitoring/appsettings.Development.json b/HealthMonitoring/appsettings.Development.json deleted file mode 100644 index b543ffa..0000000 --- a/HealthMonitoring/appsettings.Development.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ConnectionStrings": { - "HealthMonitoring": "Server=localhost;Database=HealthMonitoring;User Id=sa;Password=sp1ttal;TrustServerCertificate=True;Encrypt=False;" - }, - "Monitoring": { - "SqlServer": { - "AllowedDataSources": ["localhost", ".", "(local)", "sqlserver"] - } - } -}