Skip to content

docs: correct package path, endpoint count, and authentication scope - #519

Open
ArangoGutierrez wants to merge 4 commits into
NVIDIA:mainfrom
ArangoGutierrez:sprint/T10
Open

docs: correct package path, endpoint count, and authentication scope#519
ArangoGutierrez wants to merge 4 commits into
NVIDIA:mainfrom
ArangoGutierrez:sprint/T10

Conversation

@ArangoGutierrez

Copy link
Copy Markdown
Contributor

Description

Corrects three factual errors in the documentation. No scorecard signal is involved; these are
simply wrong.

1. The Slurm quickstart points at a directory that does not exist

docs/get-started/quickstart-slurm.md told readers the packages land in dist/ and to run
dpkg -i dist/topograph_*.deb. Both halves are wrong:

  • scripts/build-deb.sh:57 and scripts/build-rpm.sh:37 default to ${REPO_HOME}/bin
  • scripts/build-deb.sh:58 names the file topograph-<ver>.<arch>.deb, with a hyphen

grep -rn 'dist/' Makefile scripts/ returns nothing. The documented glob therefore failed
twice over. Corrected to bin/topograph-*.deb and bin/topograph-*.rpm.

2. docs/api.md undercounted the endpoints

It said topograph exposes three endpoints. initHttpServer registers five: /v1/generate,
/v1/topology, /v1/lookup, /healthz and /metrics. The count is corrected and sections
for /v1/lookup and /metrics are added in the file's existing style, leaving the existing
sections numbered as they were.

Worth knowing, and now documented: Request.Hash hashes only provider name and params plus
engine name and params, so the /v1/lookup key is not the whole payload. Credentials and the
node list are excluded, which makes hits and misses surprising if you assume full-payload
matching.

3. The authentication note named only one endpoint

docs/engines/k8s.md said the binary has no built-in authentication on /v1/generate. True,
but incomplete in a way that matters now that /v1/lookup is documented as public: no handler
authenticates anything, so /v1/lookup is equally open and returns stored topology. An
operator could have read the old sentence literally and protected only /v1/generate.

The claim was verified before broadening it: the mux is a local variable with exactly five
registrations, nothing registers on http.DefaultServeMux repo-wide, readRequest and
validate inspect no credential, LoggingMiddleware never returns early, and there is no
mTLS anywhere. Each of those searches was positive-controlled so an empty result means real
absence.

The surrounding Gateway-layer guidance is unchanged; it already carries the remedy.

Documentation only.

Part of #513.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.
  • All commits are signed off per DCO (git commit -s).

The quickstart told readers that `make deb` and `make rpm` write to `dist/`
and to install `dist/topograph_*.deb`. Neither is true: scripts/build-deb.sh
and scripts/build-rpm.sh both default their output directory to
`${REPO_HOME}/bin`, and build-deb.sh names the artifact
`topograph-<version>.<arch>.deb` with a hyphen, not an underscore. A reader
following the page verbatim hit a glob that matched nothing, twice over.

Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
The API section claimed Topograph exposes three endpoints and described only
`/healthz`, `/v1/generate` and `/v1/topology`. initHttpServer in
pkg/server/http_server.go registers five handlers: the two remaining ones are
`/v1/lookup`, which returns a stored result keyed by the hash of the provider
and engine sections of the payload, and `/metrics`, served by the Prometheus
handler on the same port. Readers had no way to learn either endpoint existed
from the API reference.

Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
The default-routing note listed the paths the Topograph Service serves behind
a catch-all Gateway API rule and omitted /v1/lookup, which initHttpServer in
pkg/server/http_server.go registers alongside the other four. An operator
narrowing gatewayAPI.rules from that list would have dropped a route the
binary actually serves.

Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
The authentication note named only /v1/generate. The API server applies no
authentication to any handler: initHttpServer serves LoggingMiddleware over a
private mux whose five registrations are the whole route set, the middleware
only logs and records metrics, and no handler inspects credentials. The
configured ssl.ca_cert is validated for existence and never used to verify a
client certificate, so TLS here authenticates the server and not the caller.

An operator reading the old sentence literally could enforce Gateway-layer
authentication on /v1/generate alone and leave /v1/lookup, which returns
stored topology output, open to unauthenticated reads.

Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 6, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: d8be1e26-91c2-4f8b-ad90-fa2479501959

📥 Commits

Reviewing files that changed from the base of the PR and between acf7266 and 25dd4f8.

📒 Files selected for processing (3)
  • docs/api.md
  • docs/engines/k8s.md
  • docs/get-started/quickstart-slurm.md

Included review availability: Your plan provides up to 12 included reviews per hour; 6 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (8)
  • GitHub Check: k8s / aws-sim
  • GitHub Check: k8s / test
  • GitHub Check: k8s / gcp-sim
  • GitHub Check: k8s / crusoe
  • GitHub Check: oci-sim / slinky
  • GitHub Check: check
  • GitHub Check: test
  • GitHub Check: build
🧰 Additional context used
📓 Path-based instructions (2)
New / changed API endpoint, request parameter, or response field | `docs/api.md` New / changed config schema (`topograph-config.yaml` fields, defaults, validation) | `docs/api.md`

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • docs/api.md
Every `.md` file added to `docs/` (outside `docs/design/`) must also be added to `docs/index.yml`

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • docs/get-started/quickstart-slurm.md
  • docs/engines/k8s.md
  • docs/api.md
🔇 Additional comments (5)
docs/get-started/quickstart-slurm.md (1)

19-19: LGTM!

Also applies to: 21-21, 27-27, 29-29

docs/api.md (2)

59-59: LGTM!


174-195: LGTM!

docs/engines/k8s.md (2)

294-294: LGTM!


312-312: LGTM!


📝 Summary

Summary by CodeRabbit

  • Documentation
    • Documented the /v1/lookup endpoint for retrieving request IDs without starting generation.
    • Added documentation for the Prometheus /metrics endpoint.
    • Clarified that gateway endpoints require authentication.
    • Updated the Slurm quickstart with current package artifact locations and installation filenames.

Walkthrough

The documentation adds /v1/lookup and /metrics, updates Gateway API routing and authentication guidance, and changes Slurm package paths from dist/ to bin/.

Changes

API documentation

Layer / File(s) Summary
API endpoints and Gateway guidance
docs/api.md, docs/engines/k8s.md
The documentation describes /v1/lookup and /metrics, updates the endpoint count, and documents lookup routing and authentication requirements.

Slurm packaging documentation

Layer / File(s) Summary
Slurm package artifact paths
docs/get-started/quickstart-slurm.md
The quickstart updates Debian and RPM build commands and installation paths from dist/ to bin/.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 25dd4

This documentation-only change corrects API, Gateway, and Slurm package guidance to match current behavior, with no remaining merge-readiness risk identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the documentation fixes for the package path, endpoint count, and authentication scope.
Description check ✅ Passed The description directly explains all documentation changes and their factual basis.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@ArangoGutierrez
ArangoGutierrez marked this pull request as ready for review September 6, 2026 11:08
@greptile-apps

greptile-apps Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This documentation-only PR corrects package installation paths, completes the API endpoint inventory, documents lookup and metrics behavior, and broadens the Kubernetes authentication warning to cover every endpoint.

  • Updates Slurm quickstart package paths and filename globs to match build outputs.
  • Documents /v1/lookup, /metrics, request-hash inputs, and all five HTTP endpoints.
  • Clarifies that Topograph provides no built-in authentication for any endpoint.

Confidence Score: 5/5

The PR appears safe to merge because the corrected documentation agrees with the current server, chart, and package-building implementations.

No actionable discrepancies were found in the endpoint behavior, authentication scope, metrics inventory, or package paths documented by the PR.

Important Files Changed

Filename Overview
docs/api.md Accurately documents all five endpoints, including lookup semantics and registered Prometheus metric families.
docs/engines/k8s.md Accurately expands the route inventory and authentication warning to include all endpoints.
docs/get-started/quickstart-slurm.md Corrects package output and installation globs to match the Debian and RPM build scripts.

Reviews (1): Last reviewed commit: "docs(engines/k8s): state that no endpoin..." | Re-trigger Greptile

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

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.

1 participant