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

stacklok / toolhive / 24687077953
66%

Build:
DEFAULT BRANCH: main
Ran 20 Apr 2026 07:57PM UTC
Jobs 1
Files 641
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

20 Apr 2026 07:51PM UTC coverage: 66.368% (+0.006%) from 66.362%
24687077953

push

github

web-flow
Add policy_stopped workload status and enforce policy gate on restart (#4857)

* Add policy_stopped workload status and enforce policy gate on restart

Introduces WorkloadStatusPolicyStopped as a first-class workload status
to support enterprise policy enforcement. When non-registry servers are
blocked by policy, workloads can be set to this status so the UI and CLI
can surface the reason clearly, rather than showing an opaque "error".

- Add WorkloadStatusPolicyStopped constant to pkg/container/runtime/types.go
- Update enums tag in pkg/core/workload.go to include policy_stopped
- Map policy_stopped to BackendUnhealthy in mapWorkloadStatusToVMCPHealth
- Call EagerCheckCreateServer in restartSingleWorkload so the policy gate
  blocks restart of workloads that violate the active policy
- Add 🚫 indicator for policy_stopped in CLI list and status output,
  following the existing ⚠️ pattern for unauthenticated workloads
- Regenerate swagger docs to include the new status enum value

Part of stacklok/stacklok-enterprise-platform#406

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

* Remove enterprise reference from WorkloadStatusPolicyStopped comment

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

* Fix exhaustive lint errors in status switch statements

Add all WorkloadStatus cases to the switches in list and status
commands to satisfy the exhaustive linter.

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

* Address PR review comments: fix policy gate bypass and missing enum

- Add policy_stopped to workloadStatusResponse enums tag so the swagger
  spec for the status endpoint includes the new value
- Add EagerCheckCreateServer check in maybeSetupContainerWorkload after
  loadRunnerFromState to cover the path where the outer LoadState call
  fails on a partial name but succeeds after label-based name resolution
- Regenerate swagger docs

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

* Set policy_stopped statu... (continued)

8 of 24 new or added lines in 4 files covered. (33.33%)

11 existing lines in 5 files now uncovered.

58204 of 87699 relevant lines covered (66.37%)

61.9 hits per line

Uncovered Changes

Lines Coverage ∆ File
11
51.22
-0.68% pkg/workloads/manager.go
3
33.08
2.5% cmd/thv/app/common.go
2
10.38
0.1% cmd/thv/app/list.go

Coverage Regressions

Lines Coverage ∆ File
3
79.38
-0.77% pkg/transport/proxy/httpsse/http_proxy.go
2
10.38
0.1% cmd/thv/app/list.go
2
73.63
1.29% pkg/runner/config.go
2
82.29
-0.21% pkg/vmcp/composer/workflow_engine.go
2
51.22
-0.68% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 24687077953.1 20 Apr 2026 07:57PM UTC 641
66.37
GitHub Action Run
Source Files on build 24687077953
  • Tree
  • List 641
  • Changed 14
  • Source Changed 8
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24687077953
  • ee823d89 on github
  • Prev Build on main (#24675728826)
  • Next Build on main (#24715291834)
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