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

stacklok / toolhive / 28057876341
67%

Build:
DEFAULT BRANCH: main
Ran 23 Jun 2026 09:26PM UTC
Jobs 1
Files 762
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

23 Jun 2026 09:20PM UTC coverage: 67.181% (+0.003%) from 67.178%
28057876341

push

github

web-flow
Add global Redis default config support to operator (#5595)

* Add defaultRedis config block to operator chart values

* Inject TOOLHIVE_DEFAULT_REDIS_ADDR env var from operator.defaultRedis / global.redis

* Add helm-unittest suite for TOOLHIVE_DEFAULT_REDIS_ADDR env var injection

* Fix existingSecretKey default to allow global.redis.existingSecretKey to propagate

When operator.defaultRedis.existingSecretKey was set to "redis-password",
the Helm default filter would always use this value, preventing
global.redis.existingSecretKey from propagating. Change to empty string
so the template fallback logic works correctly: operator local value,
then global.redis.existingSecretKey, then "redis-password" default.

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

* Add ReadDefaultRedisConfig helper to read TOOLHIVE_DEFAULT_REDIS_ADDR from env

* Fall back to TOOLHIVE_DEFAULT_REDIS_ADDR for MCPServer session storage when spec unset

* Fall back to TOOLHIVE_DEFAULT_REDIS_ADDR for MCPRemoteProxy session storage when spec unset

* Fall back to TOOLHIVE_DEFAULT_REDIS_ADDR for VirtualMCPServer session storage and password

* Prevent global Redis default from overriding explicit non-Redis session storage providers

A CR that explicitly sets spec.sessionStorage to a non-Redis provider
(e.g. "memory") was incorrectly falling through to pick up the global
TOOLHIVE_DEFAULT_REDIS_ADDR/secret defaults in both
populateScalingConfigForRemoteProxy and buildRedisPasswordEnvVar. The fix
adds an early return whenever spec.sessionStorage is non-nil, so the
global default is only consulted when the operator field is absent.

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

* Update helm-docs for operator.defaultRedis values

---------

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

62 of 66 new or added lines in 5 files covered. (93.94%)

21 existing lines in 5 files now uncovered.

69637 of 103656 relevant lines covered (67.18%)

65.67 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
71.37
-0.11% cmd/thv-operator/controllers/mcpremoteproxy_runconfig.go
2
85.71
cmd/thv-operator/pkg/controllerutil/defaultredis.go

Coverage Regressions

Lines Coverage ∆ File
7
61.69
-0.6% pkg/workloads/manager.go
6
20.11
-3.45% pkg/client/manager.go
3
73.79
-2.91% pkg/state/local.go
3
64.29
-4.29% pkg/state/runconfig.go
2
96.47
0.0% pkg/authserver/storage/memory.go
Jobs
ID Job ID Ran Files Coverage
1 28057876341.1 23 Jun 2026 09:26PM UTC 762
67.18
GitHub Action Run
Source Files on build 28057876341
  • Tree
  • List 762
  • Changed 12
  • Source Changed 4
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28057876341
  • 4b1c0efc on github
  • Prev Build on main (#28057354012)
  • Next Build on main (#28058076167)
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