• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 24592766329

18 Apr 2026 12:39AM UTC coverage: 66.286% (+0.05%) from 66.235%
24592766329

push

github

web-flow
Treat unauthenticated backends as routable in vMCP health (#4866)

* Treat unauthenticated backends as routable in vMCP health monitoring

Backends returning 401 due to missing user-level OAuth tokens (e.g.,
upstreamInject auth) are reachable and running — they just require
per-request user auth. Health probes lack user tokens, so they correctly
detect the unauthenticated state, but this should not cause PhaseFailed.

Introduce Summary.Routable() (healthy + unauthenticated) and use it for
phase determination, BackendCount, and status messages across the health
monitor, operator controller, and status collector. Give
BackendUnauthenticated its own CRD status "unauthenticated" instead of
mapping to "unavailable".

Fixes #4824

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review feedback on unauthenticated backends PR

- Fix godoc: move pluralBackend() above formatBackendMessage doc comment
- Fix grammar: add pluralRequire()/quantifyBackends() helpers for
  correct subject-verb agreement ("1 requires" not "1 require") and
  drop "All" prefix for singular counts
- Fix /status endpoint: treat BackendUnauthenticated as routable,
  consistent with health monitor
- Rename condition Reason from AllBackendsHealthy to AllBackendsRoutable
  (v1alpha1, no stability guarantee)
- Add TestBuildConditions cases for unauthenticated branches
- Regenerate CRD manifests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Regenerate CRD docs for BackendCount description update

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update TODO to reference follow-up issue #4920

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Rename NoHealthyBackends condition reason to NoRoutableBackends

Aligns with the AllBackendsHealthy → AllBackendsRoutable rename
already applied to the ready-phase reason string.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

------... (continued)

51 of 69 new or added lines in 5 files covered. (73.91%)

4 existing lines in 2 files now uncovered.

57801 of 87199 relevant lines covered (66.29%)

61.96 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

79.38
/pkg/transport/proxy/httpsse/http_proxy.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc