Update stacklok/toolhive to v0.47.0 - #1141
Conversation
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @renovate[bot]'s task in 14m 25s —— View job Upstream release docs for toolhive v0.47.0Ran the
Hand-written edits in this commit
Deferred with reasons (see
|
- Add signing (keyless default, --identity-token, --no-sign) and sync/upgrade lifecycle sections to the ai-plugins guide; add a --public-key install section for key-pair-signed plugins - Add a --public-key install note for key-pair-signed skills - Add --max-request-body-size coverage to the CLI run guide and a spec.maxRequestBodySize example to the K8s run guide (default 8 MiB) - Note OBO middleware (Stacklok Enterprise) alongside tokenExchange and awsSts as incompatible with disableUpstreamTokenInjection
|
Claude finished @renovate[bot]'s task in 7m 4s —— View job Docs review for toolhive v0.47.0 release editsReviewed the 5 hand-written docs the previous commit changed. Applied minor editorial fixes to the newly added content per the project style guide, then formatted and linted the edits.
Fixes applied
Notes (verified but not changed)
Branch: |
Replace "consumers" (flagged as PR jargon by the project style guide) with reader-focused wording in the newly added key-pair signing sections. Also rewrite the "unsigned plugin project-scoped" sentence into a direct imperative for the reader. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
@claude please remove the key-pair-signed ai-plugin we still have some work to be merged before we can document it |
|
Claude finished @samuv's task in 1m 45s —— View job Removed key-pair-signed plugin docs
What changed Removed the "Install a key-pair-signed plugin" section from What I left in place, and why
Checks
|
Upstream work for key-pair-signed AI plugin installs is not fully merged yet, so remove the section documenting `--public-key` on `thv ai-plugin install`. The auto-generated CLI reference still lists the flag. Co-authored-by: Samuele V <4377202+samuv@users.noreply.github.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The flag and CRD field are already fully documented in the auto-generated CLI reference (thv_run.md, thv_proxy.md), so the hand-written guide sections just duplicated it with extra internal rationale that doesn't help readers decide when to use it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
embeddedAuthServer requires at least one of upstreamProviders, delegateClients, or a trustedIssuers entry with jwtBearerGrant, but that's an "at least one of" CEL rule the example generator's required-field walk can't see, so upstreamProviders silently dropped out of the generated example when it became optional upstream. The issuer-only example that resulted fails admission. Add exampleForceFields to crd-intros.mjs so an override can restore a sibling field the schema doesn't mark required, and use it to put upstreamProviders back in the embeddedAuthServer example. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This PR contains the following updates:
v0.46.0→v0.47.0After this PR opens,
.github/workflows/upstream-release-docs.ymladds source-verified content edits for the new release. Forstacklok/toolhive, the same workflow also syncs reference assets (CLI help, Swagger) and regenerates the CRD MDX pages.Release Notes
stacklok/toolhive (stacklok/toolhive)
v0.47.0Compare Source
What's Changed
New Contributors
Full Changelog: stacklok/toolhive@v0.46.0...v0.47.0
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
Docs update for
toolhivev0.47.0At a glance
stacklok/toolhivev0.46.0→v0.47.0Who does what
@rdimitrov cut this release and owns this PR: review your own changes, chase the remaining approvals, and merge once they're in. You don't need to wait on a review from anyone listed as having no docs impact below.
Everyone with a review request: the target is a review and approval within 2 business days.
Summary of changes
Summary of changes
--identity-token,--no-sign) and a "Reproduce and upgrade project-scoped plugins" section (sync/upgrade, lock file) todocs/toolhive/guides-cli/ai-plugins.mdx. Both surfaces are user-facing in v0.47.0 now that plugin push signs by default (Sign plugin pushes and remove the lock feature gate toolhive#6438) and the lock feature gate is removed.docs/toolhive/guides-cli/ai-plugins.mdxcovering--public-keyand lock-file pinning for key-signed installs (Verify key-signed plugin installs against a public key toolhive#6524).--public-keyinstall coverage todocs/toolhive/guides-cli/skills-management.mdxfor skills pushed with--key(Verify key-signed skill installs against a public key toolhive#6447).docs/toolhive/guides-cli/run-mcp-servers.mdxcovering--max-request-body-sizeonthv runandthv proxywith the 8 MiB default (Make proxy request-body limit configurable toolhive#6298).spec.maxRequestBodySizeexample todocs/toolhive/guides-k8s/run-mcp-k8s.mdxfor the MCPServer CRD field (Make proxy request-body limit configurable toolhive#6298).disableUpstreamTokenInjectiondescription indocs/toolhive/guides-k8s/embedded-auth-server-k8s.mdxto include OBO middleware alongsidetokenExchangeandawsStsas incompatible middlewares.Deferred (recorded as decisions rather than omissions)
spiffeTrustDomainsandinboundGrants.spiffeClientAuth, but the embedded authorization server hard-rejects any non-empty SPIFFE trust configuration viavalidateSPIFFENotYetEnforcedinpkg/authserver/config.go— no SVID verification is implemented in this build. Not documented. Auto-generated CRD reference still surfaces the fields.MCPExternalAuthConfiggainsinboundGrants.tokenExchangeandinboundGrants.jwtBearer, with the legacy top-level fields marked deprecated but retained for compatibility. Existing docs describe the legacy form, which still works; a full doc rewrite to the canonical form is out of scope for this release and deferred (seeGAPS.md).caBundleRefontrustedIssuers(Trust private CAs for RFC 8693 trusted issuers toolhive#6437):trustedIssuersis not currently documented on our OSS pages, so there is no host section for this new field. Deferred with the trustedIssuers coverage itself.allowPrivateIPs(Guard OIDC discovery against private IPs toolhive#6455): the guard is a security default and the opt-inallowPrivateIPsfield is surfaced by the auto-generated CRD reference; no hand-written change needed.Gaps needing human context
Canonical inbound grants restructure on MCPExternalAuthConfig (PR stacklok/toolhive#6499 by @jhrozek)
v0.47.0 introduces a canonical
inboundGrantsstructure onMCPExternalAuthConfig.spec.embeddedAuthServerwith three sub-families (tokenExchange,jwtBearer, and — pending SVID verification —spiffeClientAuth). The legacy top-level fields (delegateClientsand the RFC 8693 policy fields ontrustedIssuersentries) are marked deprecated but retained for CRD compatibility. Admission rules enforce that canonical and legacy policy for the same grant family are mutually exclusive.The existing
delegateClientsand token-exchange documentation indocs/toolhive/guides-k8s/embedded-auth-server-k8s.mdxanddocs/toolhive/guides-vmcp/embedded-auth-server-vmcp.mdxdescribes the legacy shape, which still works. A dedicated pass to introduce the canonical form (recommended shape, migration notes, and reworked examples) is deferred rather than partially shipped here, since a half-migrated guide would misdirect readers.File(s): docs/toolhive/guides-k8s/embedded-auth-server-k8s.mdx, docs/toolhive/guides-vmcp/embedded-auth-server-vmcp.mdx, docs/toolhive/concepts/embedded-auth-server.mdx
Helper prompt for local Claude:
No docs impact identified
13 contributor(s) had no-docs-impact commits in this release. No review was requested, and the workflow did not auto-notify them.
Review routing
GitHub could not request the upstream contributor directly, so review went to the human merger of each relevant upstream PR:
Run cost
How this PR was built
Two Claude Opus sessions run per release: a generation pass
(
upstream-release-docsskill, 6 phases) followed by a fresh-context editorial pass (
docs-review). Prettier/ESLintauto-fixes are applied after.
Auto-synced paths — do not hand-edit these in review:
static/api-specs/docs/toolhive/reference/cli/(toolhive only)docs/toolhive/reference/crds/If a "Gaps needing human context" section is present above,
each entry includes a paste-ready Helper prompt for local
Claude a reviewer can use to resolve the gap.