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

stacklok / toolhive / 26297024851
66%

Build:
DEFAULT BRANCH: main
Ran 22 May 2026 03:40PM UTC
Jobs 1
Files 737
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 May 2026 03:35PM UTC coverage: 65.814% (+0.005%) from 65.809%
26297024851

push

github

web-flow
Mirror MCPExternalAuthConfig Valid=False onto consumer CR conditions (#5354)

* Mirror MCPExternalAuthConfig Valid=False onto consumer CR conditions

Closes the Status Condition Parity gap noted in #5347. Before this
change, an obo-typed MCPExternalAuthConfig surfaced
Valid=False/EnterpriseRequired only on the referenced resource. The
consumer CR (MCPServer, MCPRemoteProxy, VirtualMCPServer) showed only
the generic dispatch failure, leaving users to inspect the referenced
config to understand why their workload would not deploy.

Each consumer reconciler now inspects the referenced config's Valid
condition. When it is False, the reconciler mirrors the source's reason
and message onto its own ExternalAuthConfigValidated condition (or
per-backend DiscoveredAuthConfig/BackendAuthConfig condition for vMCP).

This must merge before #5329 lights up apiserver-level admission of
obo-typed configs so production users see the failure on the resource
they applied. The envtest integration test for this propagation is
deferred to #5329 to avoid adding a setup-envtest dependency here; once
#5329 admits "obo" at the CRD layer, the test no longer needs a
CRD-enum bypass.

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

* Address code review feedback on consumer-CR mirror

Two changes from the code review on the previous commit:

1. (correctness) MCPServer.handleExternalAuthConfig now clears any
   stale ExternalAuthConfigValidated=False the mirror previously wrote
   when the referenced source has healed (Valid=True or absent).
   Without this, the False condition outlived its cause: the user fixed
   their spec but the mirror stayed sticky because MCPServer has no
   downstream True setter on this condition. Adds a regression-guard
   test case.

2. (parity) The mirror probe, typed error, and reason-extraction
   helper now live in a shared external_auth_mirror.go file instead
   of being duplicated across the three consumer reconcilers. All
  ... (continued)

101 of 109 new or added lines in 4 files covered. (92.66%)

36 existing lines in 5 files now uncovered.

65145 of 98983 relevant lines covered (65.81%)

63.0 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
64.1
0.09% cmd/thv-operator/controllers/virtualmcpserver_controller.go
1
67.85
0.13% cmd/thv-operator/controllers/mcpserver_controller.go

Coverage Regressions

Lines Coverage ∆ File
12
76.75
-4.43% pkg/client/config.go
12
67.9
-14.81% pkg/client/discovery.go
8
23.56
0.57% pkg/client/manager.go
2
73.63
1.29% pkg/runner/config.go
2
82.29
-0.21% pkg/vmcp/composer/workflow_engine.go
Jobs
ID Job ID Ran Files Coverage
1 26297024851.1 22 May 2026 03:40PM UTC 737
65.81
GitHub Action Run
Source Files on build 26297024851
  • Tree
  • List 737
  • Changed 10
  • Source Changed 3
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26297024851
  • e37e3367 on github
  • Prev Build on main (#26296798181)
  • Next Build on main (#26299369776)
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