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

stacklok / toolhive / 23863251809
65%

Build:
DEFAULT BRANCH: main
Ran 01 Apr 2026 06:07PM UTC
Jobs 1
Files 598
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

01 Apr 2026 06:02PM UTC coverage: 65.521% (+0.03%) from 65.495%
23863251809

push

github

web-flow
Add MCPTelemetryConfig controller for lifecycle management (#4480)

* Add MCPTelemetryConfig controller for lifecycle management

The MCPTelemetryConfig CRD API types were added in #4478 but lacked a
controller. This adds a lightweight reconciler following the same pattern
as MCPOIDCConfig (#4462): finalizer management, spec validation (CLI-only
field rejection, sensitive header checks), config hash computation, and
status condition tracking.

Reference tracking, cascade to workloads, and deletion protection are
intentionally deferred until MCPServer gains a TelemetryConfigRef field.

Closes #4249

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

* Address review feedback from Claude

- Move conditionTypeValid constant from mcpoidcconfig_controller_test.go
  to helpers_test.go so both controller test files share it without a
  fragile cross-file dependency.
- Add TestMCPTelemetryConfigReconciler_ConditionOnlyUpdate to cover
  the branch where the config hash is unchanged but the Valid condition
  is missing and needs to be written.
- Narrow RBAC marker on the telemetry controller to get;list;watch;
  update;patch — the controller never creates or deletes the resource.

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

* Regenerate operator manifests for narrowed RBAC

Run task operator-manifests to regenerate the ClusterRole from
kubebuilder markers. The narrowed mcptelemetryconfigs marker now
produces a separate RBAC rule with get;list;watch;update;patch
(no create/delete). Update e2e RBAC assertions to match.

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

---------

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

64 of 93 new or added lines in 2 files covered. (68.82%)

43 existing lines in 6 files now uncovered.

53467 of 81603 relevant lines covered (65.52%)

64.7 hits per line

Uncovered Changes

Lines Coverage ∆ File
23
73.56
cmd/thv-operator/controllers/mcptelemetryconfig_controller.go
6
8.84
-0.22% cmd/thv-operator/main.go

Coverage Regressions

Lines Coverage ∆ File
14
74.44
-5.19% pkg/client/config.go
11
68.42
-14.47% pkg/client/discovery.go
8
23.56
-4.6% pkg/client/manager.go
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
2
73.2
1.31% pkg/runner/config.go
2
51.71
-0.19% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 23863251809.1 01 Apr 2026 06:07PM UTC 598
65.52
GitHub Action Run
Source Files on build 23863251809
  • Tree
  • List 598
  • Changed 11
  • Source Changed 1
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23863251809
  • 69d136b7 on github
  • Prev Build on main (#23859528017)
  • Next Build on main (#23863487953)
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