Skip to content

Conversation

@CSR2017
Copy link

@CSR2017 CSR2017 commented Aug 4, 2025

No description provided.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

🔍 Vulnerabilities of development:latest

📦 Image Reference development:latest
digestsha256:b96184a7f1d66af83eefb311165abc1f16deca178fe569082c19fff92d08d21e
vulnerabilitiescritical: 0 high: 0 medium: 0 low: 0
platformlinux/amd64
size122 MB
packages635
📦 Base Image alpine:3
also known as
  • 3.20
  • 3.20.3
  • latest
digestsha256:33735bd63cf84d7e388d9f6d297d348c523c044410f553bd878c6d7829612735
vulnerabilitiescritical: 0 high: 1 medium: 3 low: 0

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

Test Results

322 tests   321 ✅  14s ⏱️
  6 suites    1 💤
  6 files      0 ❌

Results for commit c0e2e0d.

♻️ This comment has been updated with latest results.


COPY --from=assets ./Application/NuGet.Config EdFi.AdminConsole.HealthCheckService/
COPY --from=assets ./Application/EdFi.AdminConsole.HealthCheckService EdFi.AdminConsole.HealthCheckService/

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are frustrating false positives. I wish Hadolint would update to recognize the new syntax for additional contexts.


- name: Copy health check service folder to docker context
run: cp -r ../EdFi.Ods.AdminApi.HealthCheck ../../Docker/Application

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could simplify all of this switching the Dockerfile to use the new "additional contexts" feature, which allows accessing files from a different parent directory.

Let's do that as a separate work item though, rather than allowing scope creep on this.


## Admin Api and Ed-Fi ODS / API docker containers

Please refer [DOCKER DEPLOYMENT](https://techdocs.ed-fi.org/display/EDFITOOLS/Docker+Deployment) for

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please refer [DOCKER DEPLOYMENT](https://techdocs.ed-fi.org/display/EDFITOOLS/Docker+Deployment) for
Please refer [DOCKER DEPLOYMENT](https://docs.ed-fi.org/reference/docker) for

@stephenfuqua stephenfuqua marked this pull request as ready for review August 11, 2025 17:45
@stephenfuqua stephenfuqua requested a review from a team as a code owner August 11, 2025 17:45
@stephenfuqua
Copy link

I moved to "ready for review" for Copilot's sake.

@stephenfuqua stephenfuqua requested a review from Copilot August 11, 2025 17:45
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR integrates the Ed-Fi AdminConsole HealthCheckService directly into the EdFi.Ods.AdminApi application using Quartz.NET for scheduling and on-demand execution. The integration eliminates the need for a separate health check worker process by incorporating health check functionality as scheduled background jobs within the main AdminAPI application.

Key changes include:

  • Added a new EdFi.Ods.AdminApi.HealthCheck project with health check logic previously in a separate service
  • Integrated Quartz.NET for scheduled health check execution with configurable frequency
  • Added API endpoint for triggering health checks on-demand

Reviewed Changes

Copilot reviewed 52 out of 54 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
eng/setup-local-multi-tenants-docker.ps1 New PowerShell script for simplified multi-tenant Docker environment setup
docs/docker.md Documentation for the new multi-tenant setup script
docs/design/INTEGRATE-HEALTHCHECK-SERVICE Design document outlining the health check service integration architecture
Application/EdFi.Ods.AdminApi/Program.cs Integration of health check services into main application startup
Application/EdFi.Ods.AdminApi.HealthCheck/* New project containing health check service logic and API clients
Various appsettings files Configuration updates for health check endpoints and multi-tenant setup
Docker files and CI workflows Updates to include new health check project in build processes

@@ -0,0 +1,17 @@
?xml version="1.0"?>
Copy link

Copilot AI Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing opening angle bracket. The XML declaration should be <?xml version="1.0"?>

Suggested change
?xml version="1.0"?>
<?xml version="1.0"?>

Copilot uses AI. Check for mistakes.
?xml version="1.0"?>
<package >
<metadata>
<id><EdFi class="AdminConsoleHealthCheckWorkerProcess"></EdFi></id>
Copy link

Copilot AI Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid XML structure. The <id> element contains invalid nested tags. It should contain a plain string package identifier, not XML elements with attributes.

Suggested change
<id><EdFi class="AdminConsoleHealthCheckWorkerProcess"></EdFi></id>
<id>EdFi.AdminConsoleHealthCheckWorkerProcess</id>

Copilot uses AI. Check for mistakes.

if (healthCheckData != null)
{
healthCheckDocument.Add(new KeyValuePair<string, JsonNode?>("healthy", !healthCheckData.Any(r => r.AnyErrros)));
Copy link

Copilot AI Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in property name: AnyErrros should be AnyErrors

Suggested change
healthCheckDocument.Add(new KeyValuePair<string, JsonNode?>("healthy", !healthCheckData.Any(r => r.AnyErrros)));
healthCheckDocument.Add(new KeyValuePair<string, JsonNode?>("healthy", !healthCheckData.Any(r => r.AnyErrors)));

Copilot uses AI. Check for mistakes.

public int OdsApiEndpointCount { get; set; } = 0;

public bool AnyErrros { get; set; } = false;
Copy link

Copilot AI Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in property name: AnyErrros should be AnyErrors

Suggested change
public bool AnyErrros { get; set; } = false;
public bool AnyErrors { get; set; } = false;

Copilot uses AI. Check for mistakes.
if (response != null && response.StatusCode == System.Net.HttpStatusCode.OK && response.Headers != null && response.Headers.Contains(Constants.TotalCountHeader))
result.OdsApiEndpointCount = int.Parse(response.Headers.GetValues(Constants.TotalCountHeader).First());
else
result.AnyErrros = true;
Copy link

Copilot AI Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in property name: AnyErrros should be AnyErrors

Suggested change
result.AnyErrros = true;
result.AnyErrors = true;

Copilot uses AI. Check for mistakes.
@CSR2017 CSR2017 marked this pull request as draft August 12, 2025 22:03
@CSR2017 CSR2017 changed the title [ADMINAPI-1260] Design: merge health check worker into AdminApi-2 ❌ DO NOT MERGE - [ADMINAPI-1260] Design: merge health check worker into AdminApi-2 Aug 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants