Add an internal ateapi statusz page - #1596
Open
Adhita Selvaraj (swiftdiaries) wants to merge 6 commits into
Open
Adhita Selvaraj (swiftdiaries) wants to merge 6 commits into
Adhita Selvaraj (swiftdiaries) wants to merge 6 commits into
Conversation
Contributor
Author
Collaborator
|
+1 I love statusz pages :-) |
Expose build, readiness, listener settings, projected configuration, and bounded worker-pool counts through one status model and embedded dashboard. Keep cache failures distinct from an empty fleet and cover rendering and snapshot behavior with tests.
Add a configurable status port and project resolved flags through a closed display policy before handing them to the dashboard. Share existing readiness and worker-cache state, keep status available through the gRPC drain, and bound HTTP shutdown.
Add the named status port to the deployment and headless API Service. Document replica-local data, redaction, HTML/JSON access, and disabling the listener so operators can inspect an API replica through port-forwarding.
Adhita Selvaraj (swiftdiaries)
force-pushed
the
codex/bug-bash-1458-statusz-base
branch
from
September 14, 2026 11:06
6ba8811 to
2ad6583
Compare
Adhita Selvaraj (swiftdiaries)
marked this pull request as ready for review
September 14, 2026 11:33
Contributor
Author
|
Bowei Du (@bowei) haiyanmeng added a Could I please a get review on the representation of the metrics and if replica-wide aggregation is needed here? Tried to keep it simple for the first pass. |
haiyanmeng
requested review from
Da Huang (git286) and
Julian Gutierrez Oschmann (juli4n)
September 14, 2026 12:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
statuszpage for theateapiAddresses #1458
Review Notes
Things I'm not sure about:
Screenshot
AI-generated PR description
Adds an internal ateapi
/statuszpage for inspecting the serving replica. HTML and JSON expose build/version, uptime, live readiness, listener/drain settings, and safely redacted startup configuration, alongside known workers grouped by namespace/pool, PostgreSQL client-pool occupancy, and recent failed authenticated unary Control RPCs.The dedicated
--status-portlistener defaults to 4040, can be disabled with a nonpositive value, and stays available through gRPC drain. It is exposed through the internal API Service. Configuration uses a closed display policy to redact credentials, environment-resolved values, and sensitive paths.Each request reads diagnostics directly from existing in-memory readers; there is no diagnostic response cache or background sampler. The browser offers Manual / 5s / 10s default / 30s full-page refresh, matching the router. The selection resets to 10 seconds on each page load.
Worker counts reflect this replica's cached view of shared inventory and must not be summed across replicas; the page displays at most 100 groups with totals and truncation information. Pool statistics perform no SQL, connection acquisition, or connectivity probe. Failure history retains the newest 100 matching completions with bounded method/principal text, status, and elapsed time, without payloads, credentials, or raw errors. It resets on restart and is not an error-rate metric.
Includes both the endpoint foundation and runtime diagnostics.
Validation: focused ateapi/statusz race tests passed on the combined head
a1b96d9f302766f4f744693e06bd442a2c57da3f; diff checks passed. Earlier validation covered PostgreSQL-backed pool tests, browser refresh behavior, GolangCI-Lint, kube-api-linter, and applicable static checks. The fullmake verifyrun encountered inherited color/telemetry environment failures; those affected packages passed when rerun without the conflicting variables. Some static wrappers required a clean worktree and were not run during the uncommitted refactor. No single full-verification pass, live-cluster deployment, or E2E validation is claimed.