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

stacklok / toolhive / 31213390770
70%

Build:
DEFAULT BRANCH: main
Ran 07 Aug 2026 08:00PM UTC
Jobs 1
Files 874
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

07 Aug 2026 07:52PM UTC coverage: 70.186% (+0.06%) from 70.123%
31213390770

push

github

web-flow
Validate MCPOIDCConfig inline issuer and JWKS URLs (#5936)

* Validate MCPOIDCConfig inline issuer and JWKS URLs

The MCPOIDCConfig reconciler only checked type/config consistency, so
inline configs with malformed or plain-HTTP issuer and JWKS URLs were
accepted and failed later in the OIDC verification path. Wire the
existing validation.ValidateOIDCIssuerURL and validation.ValidateJWKSURL
helpers into the controller's validation step. The checks run at the
controller layer because pkg/validation imports the v1beta1 package, so
the types package cannot call it without an import cycle.

Add insecureAllowHTTP: true to deploy/keycloak/mcpserver-with-auth.yaml,
whose plain-HTTP issuer would otherwise fail the new check.

Signed-off-by: Roshan <rosh.s568@gmail.com>

* Allow insecureAllowHTTP to cover the JWKS URL

ValidateJWKSURL rejected any non-HTTPS URL with no escape hatch while
ValidateOIDCIssuerURL accepts HTTP behind insecureAllowHTTP, so the same
dev environment that justifies an HTTP issuer could not use an explicit
HTTP JWKS URL, and the keycloak example manifest failed the validation
this PR adds. Thread allowInsecure through ValidateJWKSURL, driven by
the same spec.inline.insecureAllowHTTP field as the issuer check.

Also assert the reconcile test on the offending URL echoed into the
condition message instead of the validator's error wording.

Regenerated: operator CRDs and docs/operator/crd-api.md for the updated
field doc.

Signed-off-by: Roshan <rosh.s568@gmail.com>

* Opt integration fixtures into insecureAllowHTTP

The mcp-remote-proxy integration fixtures build inline MCPOIDCConfigs
with an HTTP issuer and no insecureAllowHTTP, so the new URL validation
flips them to Valid=False and the referencing MCPRemoteProxy specs time
out. Add the opt-in to the two fixture helpers.

Signed-off-by: Roshan <rosh.s568@gmail.com>

* Opt MCPServer AuthServerRef fixtures into insecureAllowHTTP

Signed-off-by: Roshan <rosh.s568@gmail.com>

* Correct JWKS s... (continued)

21 of 21 new or added lines in 2 files covered. (100.0%)

11 existing lines in 3 files now uncovered.

83913 of 119558 relevant lines covered (70.19%)

98.6 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
3
96.63
-0.44% pkg/authz/authorizers/cedar/core.go
2
75.5
-0.24% pkg/transport/proxy/streamable/streamable_proxy.go
Jobs
ID Job ID Ran Files Coverage
1 31213390770.1 07 Aug 2026 08:00PM UTC 874
70.19
GitHub Action Run
Source Files on build 31213390770
  • Tree
  • List 874
  • Changed 11
  • Source Changed 3
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31213390770
  • 3cb828f3 on github
  • Prev Build on main (#31202262902)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc