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

stacklok / toolhive / 32234982675
70%

Build:
DEFAULT BRANCH: main
Ran 19 Aug 2026 09:02AM UTC
Jobs 1
Files 879
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

19 Aug 2026 08:55AM UTC coverage: 70.483% (+0.02%) from 70.468%
32234982675

push

github

web-flow
Add CEL actor matching for trusted issuers (#6364)

* Add CEL actor matching for trusted issuers

Trusted external issuers previously authorized delegation only when a single configured actor claim matched an exact allowedActors entry. That model cannot express issuer-signed delegation classes or policies based on multiple verified claims, while accepting a valid external token without explicit consent would create a confused-deputy risk.

Add actorMatcher as an optional CEL predicate over the complete signature-verified subject-token claims map. A true matcher result is additive to allowedActors; both paths still require the authenticated ToolHive client to match allowedDelegateClients. may_act remains opt-in, authoritative when present, and is evaluated before actor authorization.

Expose actorMatcher through the shared embedded-auth-server CRD configuration, convert it into the auth-server RunConfig, and validate/compile it before server startup. Keep runtime matcher failures fail-closed, preserve generic OAuth client errors, and log only safe DEBUG diagnostics.

Document CEL has() guards for optional claims, strengthen matcher unit/integration coverage, and add kind E2E coverage for successful and rejected CRD-configured matchers.

Fixes #6322

* Regenerate CRD API docs for actorMatcher field

* Redact CEL matcher errors and refresh actor doc comments

CEL evaluation errors can embed raw claim values (e.g. timestamp()
on a malformed string quotes it verbatim), so the actor matcher's
evaluation error is no longer logged or returned to the caller in
its raw form. The AllowedActors/AllowMayAct doc comments are also
updated to describe actorMatcher as an additional authorization
signal, since the generated CRD schema and operator API docs still
described the pre-matcher, allowlist-only behavior.

Addresses review feedback on #6364.

* Note ActorMatcher in the standalone TrustedIssuer wire docs

The AllowMayAct comment on the TrustedIssuer wire type st... (continued)

86 of 88 new or added lines in 3 files covered. (97.73%)

7 existing lines in 3 files now uncovered.

85754 of 121666 relevant lines covered (70.48%)

99.46 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
94.65
0.05% pkg/authserver/server/tokenexchange/multi_issuer_validator.go

Coverage Regressions

Lines Coverage ∆ File
3
81.06
-0.69% pkg/transport/proxy/httpsse/http_proxy.go
2
93.94
-6.06% pkg/foreach/foreach.go
2
66.64
0.09% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 32234982675.1 19 Aug 2026 09:02AM UTC 879
70.48
GitHub Action Run
Source Files on build 32234982675
  • Tree
  • List 879
  • Changed 12
  • Source Changed 7
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32234982675
  • 3c41b20e on github
  • Prev Build on main (#32233909347)
  • Next Build on main (#32235296895)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc