Skip to content

Update stacklok/toolhive to v0.38.0#1035

Merged
danbarr merged 4 commits into
mainfrom
renovate/stacklok-toolhive-0.x
Jul 17, 2026
Merged

Update stacklok/toolhive to v0.38.0#1035
danbarr merged 4 commits into
mainfrom
renovate/stacklok-toolhive-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
stacklok/toolhive minor v0.35.0v0.38.0

After this PR opens, .github/workflows/upstream-release-docs.yml adds source-verified content edits for the new release. For stacklok/toolhive, the same workflow also syncs reference assets (CLI help, Swagger) and regenerates the CRD MDX pages.


Release Notes

stacklok/toolhive (stacklok/toolhive)

v0.38.0

Compare Source

What's Changed

Full Changelog: stacklok/toolhive@v0.37.0...v0.38.0

v0.37.0

Compare Source

What's Changed

New Contributors

Full Changelog: stacklok/toolhive@v0.36.0...v0.37.0

v0.36.0

Compare Source

What's Changed

Full Changelog: stacklok/toolhive@v0.35.0...v0.36.0


Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.


Docs update for toolhive v0.38.0

At a glance

Upstream stacklok/toolhive v0.35.0v0.38.0
Hand-written changes 2 commit(s)
Reference assets refreshed (separate commit)
Gaps 2
Release contributors 9 auto-assigned (see sidebar)
Action required Yes — resolve 2 gap(s), then spot-check prose

Summary of changes

  • Added a "Customize the remote proxy pod" section to docs/toolhive/guides-k8s/remote-mcp-proxy.mdx covering the new spec.podTemplateSpec field on MCPRemoteProxy, with a resource-limits example, the name: toolhive container-name rule, and a contrast with MCPServer (where the container name is mcp).
  • Updated the "Check remote proxy status" section in docs/toolhive/guides-k8s/remote-mcp-proxy.mdx to note the new PodTemplateValid condition and how to read its failure message.

Gaps needing human context

thv llm setup narrative guide for Codex support (PRs stacklok/toolhive#5789 by @jerm-dro, stacklok/toolhive#5810 by @JAORMX)

The v0.36.0 and v0.38.0 releases add Codex CLI and ChatGPT desktop-app support to thv llm setup, but there is no hand-written how-to guide for the LLM gateway feature at all — only the auto-generated CLI reference at docs/toolhive/reference/cli/thv_llm_setup.md (which is current). Codex is a meaningful expansion of an already-undocumented feature; authoring the whole feature's guide is beyond scope for a release PR. A follow-up guide should cover: direct-mode vs proxy-mode clients, what each client's config file looks like after thv llm setup, the desktop-app-restart caveat for Claude Desktop and ChatGPT/Codex, macOS/Windows detection quirks for the Codex/ChatGPT desktop app, and how thv llm proxy start and thv llm token fit together.

File(s): New guide under docs/toolhive/guides-cli/ (proposed: llm-gateway-setup.mdx), plus sidebar update in sidebars.ts.

Helper prompt for local Claude:

Write a new how-to guide at docs/toolhive/guides-cli/llm-gateway-setup.mdx covering thv llm setup. This is a first-time page for the LLM gateway feature. Context from stacklok/toolhive#5789 and stacklok/toolhive#5810: Codex CLI and the ChatGPT desktop app share ~/.codex/config.toml; ToolHive uses a new codex-auth mode where Codex re-invokes thv llm token --skip-browser directly for a fresh bearer token every 5 minutes (no local proxy). Direct-mode clients (claude-code, codex) call thv llm token themselves; proxy-mode clients (cursor, vscode, vscode-insider, xcode, gemini-cli) route through thv llm proxy start running on localhost. Desktop apps (Claude Desktop, ChatGPT/Codex desktop) must be quit and reopened after setup. Codex desktop detection is macOS/Windows-only and checks for com.openai.codex bundle ID or the OpenAI.Codex Windows Store package. Verify all client identifiers, modes, and config paths against /tmp/tmp.4pKVWp2G7Y/upstream/pkg/client/config.go, pkg/client/llm_gateway_codex.go, pkg/client/codex_desktop.go, and cmd/thv/app/llm.go before writing. Add the page to sidebars.ts under the CLI section.

RuntimeConfig.runtime_env on the workload API (PR stacklok/toolhive#5801 by @danbarr)

v0.37.0 adds a runtime_env field to RuntimeConfig on workload create/update requests. It injects environment variables into the final runtime stage of the generated Dockerfile (as opposed to the existing BuildEnv, which only affects the builder stage) and is aimed at packaged MCP servers that read config at process start (feature flags, cache backend selection). The auto-refreshed swagger at static/api-specs/toolhive-api.yaml documents the API surface, but there is no thv run --runtime-env CLI flag and no thv config set-runtime-env command, so adding prose to the CLI-focused docs/toolhive/guides-cli/build-containers.mdx (which pairs BuildEnv with its thv config set-build-env command) would leave readers with no CLI path to follow. Defer until a CLI or thv config surface lands.

File(s): docs/toolhive/guides-cli/build-containers.mdx (once a CLI flag exists).

Helper prompt for local Claude:

Once the ToolHive CLI adds a way to set runtime_env (either a thv run --runtime-env KEY=VALUE flag or a thv config set-runtime-env KEY VALUE command), extend docs/toolhive/guides-cli/build-containers.mdx under the "Custom package registries" H3 with a companion "Runtime environment variables" subsection. Explain the builder-vs-runtime split against the existing BuildEnv content, note the key format (^[A-Z][A-Z0-9_]*$), the value-injection safety validation, and the list of reserved keys (PATH, HOME, USER, SHELL, PWD, HOSTNAME, TERM, LANG, LC_ALL, LD_PRELOAD, LD_LIBRARY_PATH) from pkg/container/templates/runtime_config.go. Use the Okta PYTHON_KEYRING_BACKEND case from PR stacklok/toolhive#5801 as the worked example. Verify current source at /tmp/tmp.4pKVWp2G7Y/upstream/pkg/container/templates/runtime_config.go and template files at pkg/container/templates/{uvx,npx,go}.tmpl before writing.

Run cost

Session Turns Cost (USD)
Generation 79 $9.0663
Editorial review 36 $2.5267
Total 115 $11.5930
How this PR was built

Two Claude Opus sessions run per release: a generation pass
(upstream-release-docs skill, 6 phases) followed by a fresh-
context editorial pass (docs-review). Prettier/ESLint
auto-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.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate Bot added the autogen-docs Pull requests generated by automated release workflows label Jul 16, 2026
@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-website Ready Ready Preview, Comment Jul 16, 2026 3:16pm

Request Review

@github-actions
github-actions Bot marked this pull request as draft July 16, 2026 14:58
@claude

claude Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @renovate[bot]'s task in 11m 5s —— View job


ToolHive v0.38.0 upstream release docs

  • Phase 1: Discovery — 15 PRs across v0.36/v0.37/v0.38
  • Phase 2: Deep dive — verified each PR against source at v0.38.0 tag
  • Phase 3: Impact map built
  • Phase 4: Doc edits applied and committed
  • Phase 5: Validation — prettier + eslint clean; docs-review applied
  • Phase 6: SUMMARY.md and GAPS.md written for the caller

Hand-written doc changes (see SUMMARY.md)

docs/toolhive/guides-k8s/remote-mcp-proxy.mdx

  • Added Customize the remote proxy pod H3 covering the new spec.podTemplateSpec field from Added spec.podTemplateSpec support to MCPRemoteProxy toolhive#5531. Modeled on the sibling MCPServer pattern with a resource-limits + node-selector example, an :::info admonition about the toolhive container-name rule (contrasted with MCPServer's mcp), and a pointer to the new PodTemplateValid condition on validation failure.
  • Extended the Check remote proxy status bullet on Conditions to name the new PodTemplateValid condition and instruct readers to inspect the message field when it reports status: "False".

Commit: 408e192

Auto-refreshed by the reference-sync step (no hand-edits)

Deferred to human reviewer (see GAPS.md)

  • Narrative guide for thv llm setup (LLM gateway feature) — Codex support (Add Codex CLI direct-mode support to thv llm setup toolhive#5789, Add Codex App LLM setup support toolhive#5810) expands a feature that has no hand-written guide today. Authoring the whole page is beyond scope for a release PR; deferred with a paste-ready helper prompt in GAPS.md.
  • runtime_env on RuntimeConfig — API-only surface with no thv run --runtime-env flag and no thv config set-runtime-env command. Auto-refreshed swagger covers the API reference. Deferred until a CLI surface lands; helper prompt in GAPS.md.

No docs impact (verified against source at tag)

Notes

  • npm run build fails in this sandbox because the mcp-metadata-plugin shells out to the thv CLI (not installed here) — this is an environment limitation unrelated to my edits. PR CI will exercise the real build.
    · Branch: renovate/stacklok-toolhive-0.x

Covers the new spec.podTemplateSpec field added in stacklok/toolhive#5531.
Adds a "Customize the remote proxy pod" section modeled on the parallel
MCPServer pattern (container name toolhive, not mcp) and notes the new
PodTemplateValid condition in the status section.
@claude

claude Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Claude finished @renovate[bot]'s task in 4m 53s —— View job


Editorial review of v0.38.0 docs changes

  • Identify hand-written files in the release commit
  • Read the changed section of docs/toolhive/guides-k8s/remote-mcp-proxy.mdx
  • Apply /docs-review pass (structure, clarity, style, terminology)
  • Run npm run prettier:fix and npm run eslint:fix (no changes needed)
  • Commit and push editorial fix (8e619f5)

What I changed

Only one hand-written file in this release commit: docs/toolhive/guides-k8s/remote-mcp-proxy.mdx. The rest of the diff is auto-generated reference material (static/api-specs/**, docs/toolhive/reference/cli/**) and out of scope for editorial review.

Fix applied — the new "Customize the remote proxy pod" section listed "resource limits" among fields that aren't first-class on MCPRemoteProxy, but spec.resources is a first-class field on the CRD (verified in mcpremoteproxies.schema.json: "Resources defines the resource requirements for the proxy container"). Swapped "resource limits" for "affinity rules" in the intro so the list only contains fields you genuinely can't set at the top level. The YAML example still demonstrates a container-level resources override, which remains a valid use of podTemplateSpec even though it overlaps with spec.resources.

What I checked and left alone

Cross-referenced the new section against the sibling MCPServer pattern (docs/toolhive/guides-k8s/run-mcp-k8s.mdx#customize-the-mcp-server-pod), the CRD schema, and the release PR notes. Everything else holds up:

  • Container-name rule (toolhive vs. mcp) matches the CRD schema description.
  • Cross-links to the MCPServer section and to #check-remote-proxy-status render to the correct anchors, and the status section links back correctly.
  • The PodTemplateValid condition note is consistent between the new section and the status bullet.
  • Style-guide clean: no em/en dashes, no smart quotes, second person, sentence-case headings. Over-80-char lines are all links or code blocks per the style-guide exceptions.

CI

spec.resources is a first-class field on MCPRemoteProxy, so listing
resource limits among options 'not exposed as first-class fields' is
misleading. Swap for affinity rules, which genuinely require
podTemplateSpec.

@danbarr danbarr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirming the runtime-stage env vars are API-only at this point; use case was for Dockyard, no CLI surface planned unless we get a user request.

@aponcedeleonch aponcedeleonch left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving the bit about podTemplateSpec

@jerm-dro jerm-dro left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex gap analysis and helper prompt verified accurate against toolhive source (config paths, codex-auth mode, 5-min token refresh, --skip-browser, desktop detection, direct/proxy client lists). Non-blocking: the auto-generated thv_llm_setup reference still classifies Gemini CLI as a token-helper tool when it's proxy-mode — that's an upstream llm.go synopsis fix in toolhive, not this repo.

@danbarr
danbarr merged commit b6f4a86 into main Jul 17, 2026
8 checks passed
@danbarr
danbarr deleted the renovate/stacklok-toolhive-0.x branch July 17, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autogen-docs Pull requests generated by automated release workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants