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

stacklok / toolhive / 23305122120
65%

Build:
DEFAULT BRANCH: main
Ran 19 Mar 2026 04:26PM UTC
Jobs 1
Files 567
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

19 Mar 2026 04:22PM UTC coverage: 64.643% (-0.2%) from 64.871%
23305122120

push

github

web-flow
Wire non-interactive registry auth for serve mode (#4111)

* Add serve-mode registry auth to thv serve API

Wire non-interactive registry auth for serve mode so that browser-based
OAuth flows are never triggered from the API server. When registry auth
is configured but tokens are missing or expired, the API returns a
structured 503 response with code "registry_auth_required" instead of
hanging on a browser redirect.

Key changes:
- Add WithInteractive(false) provider option for headless contexts
- Add GetNonInteractiveProviderWithConfig for serve mode
- Add auth status fields (auth_status, auth_type) to registry API responses
- Add POST /auth/login and POST /auth/logout API endpoints
- Add auth fields to PUT registry endpoint with offline_access scope
- Return structured 503 errors when registry auth is required
- Wrap validation probe 401 with ErrRegistryAuthRequired

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

* docs

Signed-off-by: Chris Burns <29541485+ChrisJBurns@users.noreply.github.com>

* Return OAuth public config in registry GET responses

Clients like Studio need to display the configured issuer and client_id
without reading the config file directly. Add an auth_config field to
the GET /registry and GET /registry/default responses that surfaces the
non-secret OAuth configuration (issuer, client_id, audience, scopes).
The field is omitted when no auth is configured.

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

* updates docs

Signed-off-by: Chris Burns <29541485+ChrisJBurns@users.noreply.github.com>

---------

Signed-off-by: Chris Burns <29541485+ChrisJBurns@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

43 of 240 new or added lines in 5 files covered. (17.92%)

157 existing lines in 6 files now uncovered.

49764 of 76983 relevant lines covered (64.64%)

211.52 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
14.72
0.0% pkg/api/server.go
2
45.68
-7.18% pkg/registry/factory.go
6
59.38
-15.63% pkg/registry/auth_manager.go
18
9.69
-3.64% pkg/registry/provider_api.go
170
17.51
-11.69% pkg/api/v1/registry.go

Uncovered Existing Lines

Lines Coverage ∆ File
3
50.0
-50.0% docs/server/docs.go
3
71.85
-1.11% pkg/ignore/processor.go
9
45.68
-7.18% pkg/registry/factory.go
14
59.38
-15.63% pkg/registry/auth_manager.go
44
9.69
-3.64% pkg/registry/provider_api.go
84
17.51
-11.69% pkg/api/v1/registry.go
Jobs
ID Job ID Ran Files Coverage
1 23305122120.1 19 Mar 2026 04:26PM UTC 567
64.64
GitHub Action Run
Source Files on build 23305122120
  • Tree
  • List 567
  • Changed 10
  • Source Changed 6
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23305122120
  • 41c74746 on github
  • Prev Build on main (#23303965371)
  • Next Build on main (#23306714517)
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