Skip to content

feat: deploy the management console and share host helpers - #618

Merged
polewskm merged 34 commits into
mainfrom
issue-609
Nov 7, 2026
Merged

polewskm merged 34 commits into
mainfrom
issue-609

Conversation

@polewskm

@polewskm polewskm commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

The management console host ships as its own image and an opt-in component of the host chart, and both hosts share their health-probe mapping and their single-page bundle serving.

  • Share the hosts' health endpoint mapping #609: MapHealthProbes() in NCode.AspNetCore maps /health/live and /health/ready for both hosts, and HealthCheckTags lives in NCode.Registration (ADR-1456).
  • Share one single-page bundle reader between the interactive surface and the console #612: SinglePageBundle<TIndex> in NCode.AspNetCore reads the index once per file version and serves only hashed files under assets with immutable caching; the login pages use SinglePageBundle<InteractiveBundleShell> and the console SinglePageBundle<ManagementConsolePage> (ADR-1457).
  • Publish and deploy the management console host #610: the console's Dockerfile builds @ncode/app-mgmt on the OP image's pinned, chiseled non-root bases; a Console image workflow builds it with its own cache scope; Dependabot moves both images together; the host chart's opt-in managementConsole component runs it under restricted pod security with its keys from Secrets and one Ingress on its host that sends /api to the OP (ADR-1458).

Closes #609
Closes #610
Closes #612

@polewskm
polewskm deployed to code-review November 6, 2026 23:04 — with GitHub Actions Active

@ncode-review ncode-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🤖 NCode Review at 851b273: 9 new findings on the changed lines.

Not on a changed line:

  • 🟡 F4 Nit: ADR-1254's body still names the deleted InteractiveBundleReader docs/decisions/1254-the-interactive-bundles-hashed-files-are-served-immutable-without-resolving-the-tenant.md:38. Decision 2 (lines 38-39) and the References list (line 87) still name InteractiveBundleReader, its AssetsDirectory and InteractiveBundleReader.cs, all of which this PR deletes. Only the status line gained a note about the ADR-1457 amendment. Fix: Point the reference and decision 2's wording at src/NCode.AspNetCore/SinglePageBundle.cs and SinglePageBundleDefaults.AssetsDirectory. Or, if the maintainers accept the status-line note in place of editing the body, confirm that is enough.
  • 🟡 F5 Nit: Catalog entry still uses the front-channel marker's old names CHANGELOG.md:4371. The 'No CORS on the front-channel endpoints' entry names IOpenIdEndpointFrontChannelMetadata and WithOpenIdFrontChannel(), which ADR-1388 renamed to IFrontChannelEndpointMetadata and WithFrontChannel(). Fix: Rename both identifiers in that entry.

Comment thread .dockerignore Resolved
@ncode-review

ncode-review Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Superseded by the review at 9ec8e47.

@codecov

codecov Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.57143% with 2 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/NCode.AspNetCore/SinglePageBundle.cs 96.96% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #618      +/-   ##
==========================================
- Coverage   94.47%   94.21%   -0.26%     
==========================================
  Files        1873     1872       -1     
  Lines       81967    81916      -51     
  Branches      268      308      +40     
==========================================
- Hits        77440    77180     -260     
- Misses       4527     4736     +209     
Flag Coverage Δ
dotnet 93.99% <98.57%> (-0.28%) ⬇️
frontend 99.21% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

📢 Thoughts on this report? Let us know!

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@polewskm

polewskm commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Autopilot: #618 (review)

  • F4 (ADR-1254's body names InteractiveBundleReader): not changed. A decision record is amended through its Status line, never rewritten (docs/decisions/README.md); ADR-1254's Status and its index row say that ADR-1457 amends it, and ADR-1457 decides SinglePageBundle<TIndex> and SinglePageBundleDefaults.AssetsDirectory.
  • F5 (the front-channel catalog entry): fixed in 9ec8e47. The entry names IFrontChannelEndpointMetadata (WithFrontChannel()), the type and extension in NCode.AspNetCore.

@polewskm

polewskm commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

/review

@ncode-review

ncode-review Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

🤖 Review complete

Verdict: ✅ Approve — Re-review of what changed since the last review at 851b273: 12 hunks in 10 files and changes taken back in 6 files, by correctness only. Earlier findings: F1 fixed, F2 fixed, F3 fixed, F6 fixed, F7 fixed, F8 fixed, F9 fixed, F10 fixed, F11 fixed. No further findings above nits.

1 reviewer run — 0 findings (run details)

Reviewer Model Findings Top
correctness sonnet-5-5 0 🟢

Trial: findings are posted as review threads and in the check run. $0.09 on Amazon Bedrock, 15s, at 9ec8e47. (how to interact)

📋 Outcomes

Merged at b583b7a: 9 fixed, 0 dismissed, 0 acknowledged, 0 ignored.

Finding Reviewer Severity Outcome
F1 tests 🟠 Should fix ✅ fixed
F2 rule-check 🟠 Should fix ✅ fixed
F3 rule-check 🟠 Should fix ✅ fixed
F6 rule-check, tests 🟡 Nit ✅ fixed
F7 tests 🟡 Nit ✅ fixed
F8 rule-check 🟡 Nit ✅ fixed
F9 conventions 🟡 Nit ✅ fixed
F10 hygiene 🟡 Nit ✅ fixed
F11 hygiene 🟡 Nit ✅ fixed

@polewskm

polewskm commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Autopilot: this pull request is ready to merge as far as this run can tell. One round of review feedback was fixed (the console Deployment's strategy check, strict UTF-8 on the console page, the narrowed test delegate, the last-modified assertion, the test index's own file, ADR-1458's wording, the wraps and the front-channel catalog entry), ADR-1254's body was answered with the Status-line amendment, and NCode Review's re-review at 9ec8e47 approves with no further findings. The threads are answered and wait for you to resolve them. Once it merges, this run makes the Build console image check required on the main and release-lines rulesets.

@polewskm
polewskm marked this pull request as ready for review November 6, 2026 23:54
@polewskm
polewskm deployed to code-review November 6, 2026 23:54 — with GitHub Actions Active
@polewskm
polewskm added this pull request to the merge queue Nov 6, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Nov 7, 2026
@polewskm
polewskm enabled auto-merge November 7, 2026 00:02
@polewskm

polewskm commented Nov 7, 2026

Copy link
Copy Markdown
Contributor Author

Autopilot: main was merged in (b583b7a) to resolve the docs/decisions/README.md conflict with #617: the index keeps main's ADR-1454 and ADR-1455 rows beside this pull request's ADR-1456 to ADR-1458, and every Status amendment from both sides. The gate passes on the merged result.

@polewskm
polewskm added this pull request to the merge queue Nov 7, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 7, 2026
@polewskm
polewskm added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit a1e3585 Nov 7, 2026
17 checks passed
@polewskm
polewskm deleted the issue-609 branch November 7, 2026 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant