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

stacklok / toolhive / 23664634987
65%

Build:
DEFAULT BRANCH: main
Ran 27 Mar 2026 07:54PM UTC
Jobs 1
Files 584
Run time 1min
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

27 Mar 2026 07:49PM UTC coverage: 65.431% (+0.02%) from 65.416%
23664634987

push

github

web-flow
Wire embedded auth server into VirtualMCPServer converter and deployment (#4383)

* Wire embedded auth server into VirtualMCPServer converter and deployment

The VirtualMCPServer operator lacked the ability to convert an inline
EmbeddedAuthServerConfig into an authserver.RunConfig and mount the
necessary secrets onto the vMCP pod.

Export BuildAuthServerRunConfig from controllerutil (previously the
unexported buildEmbeddedAuthServerRunnerConfig used only by MCPServer)
and call it from the VirtualMCPServer converter. This avoids duplicating
~450 lines of conversion logic (signing keys, HMAC secrets, upstream
providers, Redis storage with Sentinel) and ensures both controllers
use identical mount paths, env var naming, and Redis key prefix format.

Operator side: serialize the RunConfig as a separate ConfigMap key
(authserver-config.yaml) alongside config.yaml. Mount auth server
volumes and env vars onto the deployment via GenerateAuthServerVolumes
and GenerateAuthServerEnvVars. Cross-validate auth server config
against backend strategies via ValidateAuthServerIntegration.

Binary side: load sibling authserver-config.yaml if present, construct
EmbeddedAuthServer, and pass it to the server config. Fail closed on
read errors other than file-not-found.

Fixes #4284

* Fix E2E test to use OIDC incoming auth with auth server config

ValidateAuthServerIntegration (added in 0810bda4a) requires OIDC
incoming auth when AuthServerConfig is present. The pre-existing E2E
test used anonymous auth, causing the condition to be overwritten to
False and the test to time out.

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

* Extract convertSessionStorage to reduce Convert cyclomatic complexity

The Convert function exceeded the gocyclo threshold (17 > 15) after
the rebase added both SessionStorage and AuthServerConfig conversion.
Extract the SessionStorage block into a standalone helper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthro... (continued)

101 of 142 new or added lines in 6 files covered. (71.13%)

40 existing lines in 5 files now uncovered.

52580 of 80360 relevant lines covered (65.43%)

65.02 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
5
72.58
0.58% cmd/thv-operator/controllers/virtualmcpserver_vmcpconfig.go
5
88.11
0.13% cmd/thv-operator/pkg/vmcpconfig/converter.go
6
61.24
-0.47% cmd/thv-operator/controllers/virtualmcpserver_deployment.go
8
64.89
-0.19% cmd/thv-operator/controllers/virtualmcpserver_controller.go
17
3.27
3.27% cmd/vmcp/app/commands.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
71.43
-1.68% pkg/vmcp/k8s/manager.go
5
82.81
0.0% pkg/vmcp/composer/workflow_engine.go
8
23.56
-4.6% pkg/client/manager.go
11
68.42
-14.47% pkg/client/discovery.go
14
74.44
-5.19% pkg/client/config.go
Jobs
ID Job ID Ran Files Coverage
1 23664634987.1 27 Mar 2026 07:54PM UTC 584
65.43
GitHub Action Run
Source Files on build 23664634987
  • Tree
  • List 584
  • Changed 16
  • Source Changed 6
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23664634987
  • 7cff3cdf on github
  • Prev Build on main (#23661423359)
  • Next Build on main (#23680747332)
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