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

stacklok / toolhive / 18785503255

24 Oct 2025 04:11PM UTC coverage: 47.142% (-0.05%) from 47.189%
18785503255

push

github

web-flow
Fix MCPServer and MCPRemoteProxy operator spec change reconciliation (#2320)

Both MCPServer and MCPRemoteProxy operators were not properly reconciling
spec changes, requiring users to delete and recreate resources to apply
configuration updates. This fixes the issue by adding ConfigMap checksum
tracking to pod template annotations.

Changes:
- Create shared RunConfigChecksumFetcher in pkg/controllerutil
- Add RunConfig ConfigMap checksum to pod template annotations for both operators
- Trigger automatic pod restarts when configuration changes
- Add constants for checksum annotation keys
- Refactor deploymentNeedsUpdate() in both controllers to check pod template annotations
- Add comprehensive error handling and nil guards
- Handle ConfigMap not found during initial creation with 5-second requeue delay
- Update all tests to pass checksum parameter

The fix ensures that any spec change (OIDC config, authz, telemetry, tool
filters, image, etc.) properly propagates to running pods through Kubernetes
rolling updates, enabling declarative GitOps workflows.

Fixes #2314

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

Co-authored-by: Claude <noreply@anthropic.com>

48 of 141 new or added lines in 4 files covered. (34.04%)

1 existing line in 1 file now uncovered.

18802 of 39884 relevant lines covered (47.14%)

15.51 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

56.11
/cmd/thv-operator/controllers/mcpserver_controller.go


Source Not Available

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