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

stacklok / toolhive / 18731984782
50%

Build:
DEFAULT BRANCH: main
Ran 22 Oct 2025 10:52PM UTC
Jobs 1
Files 297
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

22 Oct 2025 10:46PM UTC coverage: 47.102% (+0.1%) from 46.977%
18731984782

push

github

web-flow
Reduce MCPServer CRD size by using runtime.RawExtension for PodTemplateSpec (#2015)

* Reduce MCPServer CRD size by using runtime.RawExtension for PodTemplateSpec

The MCPServer CRD was too large (~9500 lines) to apply without server-side
apply due to the embedded PodTemplateSpec taking up ~8500 lines. This was
causing issues as reported in GitHub issue #2013.

Changed the PodTemplateSpec field from a strongly-typed corev1.PodTemplateSpec
to runtime.RawExtension, which stores the raw JSON without schema validation
at the CRD level. This reduces the CRD size from ~9500 lines to 651 lines
(93% reduction).

The solution maintains full backwards compatibility - users can still use
the same YAML structure. Validation now happens at runtime in the operator,
with proper error handling via Kubernetes events and status conditions to
notify users when invalid PodTemplateSpec data is provided.

Key changes:
- Modified MCPServer type to use runtime.RawExtension for PodTemplateSpec
- Updated PodTemplateSpecBuilder to unmarshal and validate at runtime
- Added event recording and status conditions for validation errors
- Added comprehensive tests for invalid PodTemplateSpec scenarios
- Fixed race conditions in parallel tests

Fixes #2013

* Bump operator-crds chart version to 0.0.40

The CRD has been modified (MCPServer.spec.podTemplateSpec changed to
runtime.RawExtension), so the chart version needs to be bumped per
CI requirements.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Address PR feedback from code review

Fixes based on Copilot and reviewer feedback:
- Fix DeepCopy call to use pointer: (&userTemplate).DeepCopy()
- Remove duplicate test assertions in pod template tests
- Remove redundant PodTemplateSpec check in deploymentNeedsUpdate
- Remove ~200 lines of dead code (non-ConfigMap mode paths)
- Remove 5 unused functions (getProxyHost, generateOIDCArgs, etc.)
- Improve isEmpty() to check a... (continued)

141 of 168 new or added lines in 5 files covered. (83.93%)

1 existing line in 1 file now uncovered.

18673 of 39644 relevant lines covered (47.1%)

15.63 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
0.0
0.0% cmd/thv-operator/api/v1alpha1/zz_generated.deepcopy.go
1
0.0
0.0% cmd/thv-operator/main.go
25
56.97
2.3% cmd/thv-operator/controllers/mcpserver_controller.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
56.97
2.3% cmd/thv-operator/controllers/mcpserver_controller.go
Jobs
ID Job ID Ran Files Coverage
1 18731984782.1 22 Oct 2025 10:51PM UTC 297
47.1
GitHub Action Run
Source Files on build 18731984782
  • Tree
  • List 297
  • Changed 6
  • Source Changed 6
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #18731984782
  • f145cfcc on github
  • Prev Build on main (#18727876402)
  • Next Build on main (#18740198714)
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