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

stacklok / toolhive / 26299481722
66%

Build:
DEFAULT BRANCH: main
Ran 22 May 2026 04:31PM 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 04:25PM UTC coverage: 65.852% (+0.002%) from 65.85%
26299481722

push

github

web-flow
Admit obo in MCPExternalAuthConfig CRD enum (#5361)

* Admit obo in MCPExternalAuthConfig CRD enum

Until this commit, the apiserver enum on MCPExternalAuthConfig.spec.type
did not list "obo", so applying an obo-typed CR was rejected at admission
before the previously-landed dispatch wiring could run.

Implements changes for issue #5329:
- Extend the CRD enum, CEL rules, and Go-level
  validateTypeConfigConsistency check on MCPExternalAuthConfigSpec to
  admit and validate the new "obo" type alongside the existing seven
- Declare an opaque OBOConfig placeholder struct and spec.obo field; the
  inner schema lands in a follow-up
- Document the two-tier validation pattern on the Validate() OBO arm:
  structural validation here, semantic validation behind the
  controllerutil.OBOValidate function-pointer hook at reconcile time
- Regenerate operator-crds chart YAML, deepcopy, and public CRD reference
- Add unit tests covering the OBO validation matrix and update existing
  OBO-typed test fixtures across operator and vMCP packages

* Justify gocyclo suppression and document unauthenticated guard intent

Address code-review feedback on the CRD admission change:

- Expand the doc comment on validateTypeConfigConsistency so the
  //nolint:gocyclo directive meets the "confirmed false positive"
  bar from .claude/rules/go-style.md. The per-type if shape mirrors
  the CEL rules on MCPExternalAuthConfigSpec one-to-one; collapsing
  into a table-driven loop would obscure that correspondence.
- Add an explanatory comment on the unauthenticated guard so it
  reads as shape-parity / belt-and-braces, not load-bearing
  validation. The per-type biconditionals above always intercept a
  populated config field first; the guard exists so a future
  contributor adding a type cannot forget to extend the invariant.

* Polish OBO admission comments and test names

Addresses stacklok/toolhive#5361 review comments:
- LOW types.go (3283528614): F1 — say unauthenticated-guard OBO ... (continued)

24 of 34 new or added lines in 2 files covered. (70.59%)

65199 of 99008 relevant lines covered (65.85%)

62.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
44.83
-0.07% cmd/thv-operator/api/v1beta1/zz_generated.deepcopy.go
Jobs
ID Job ID Ran Files Coverage
1 26299481722.1 22 May 2026 04:31PM UTC 737
65.85
GitHub Action Run
Source Files on build 26299481722
  • Tree
  • List 737
  • Changed 4
  • Source Changed 2
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26299481722
  • 4587fc8b on github
  • Prev Build on main (#26299369776)
  • Next Build on main (#26305298825)
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