Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: stacklok/toolhive

Tags

v0.7.1

Toggle v0.7.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix skill names to comply with Agent Skills specification (#3304)

The Agent Skills specification (https://agentskills.io/specification)
requires the `name` field in SKILL.md frontmatter to:
- Use only lowercase letters, numbers, and hyphens
- Match the parent directory name
- Not contain spaces or uppercase characters

This commit updates all skill name fields to match their directory
names and renames pr-inline-review/skill.md to SKILL.md as required
by the specification.

Co-authored-by: Claude Opus 4.5 <[email protected]>

v0.7.0

Toggle v0.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update registry from toolhive-registry release v2026.01.15 (#3299)

Co-authored-by: JAORMX <[email protected]>

toolhive-operator-0.5.24

Toggle toolhive-operator-0.5.24's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bump operator to use toolhive 0.7.1 (#3305)

toolhive-operator-0.5.23

Toggle toolhive-operator-0.5.23's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update toolhive images to v0.7.0 (#3303)

* Update toolhive images to v0.7.0

* Bump Helm chart version and appVersion for v0.7.0 image updates

Update chart version from 0.5.22 to 0.5.23 and appVersion to v0.7.0
to match the toolhive images being updated in this PR.

Co-authored-by: Juan Antonio Osorio <[email protected]>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Juan Antonio Osorio <[email protected]>

toolhive-operator-crds-0.0.96

Toggle toolhive-operator-crds-0.0.96's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Chore: remove unnecessary TODOs from vMCP spec (#3293)

Title says it all. There are a few TODOs left in the VMCP.Spec from #3125 which can be deleted. It does not make sense to pull these fields into the Config object.

toolhive-operator-crds-0.0.95

Toggle toolhive-operator-crds-0.0.95's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Migrate Remaining VirtualMCPServer Fields to spec.config (#3242)

This PR addresses several goals:

Configuration Consolidation: Move CRD-specific fields into config.Config to eliminate duplication and establish a single source of truth
Validation Unification: Consolidate scattered validation logic into shared, reusable functions
Type Simplification: Remove redundant CRD-to-config conversion functions by embedding config types directly in CRDs
Bug Fixes: Fix telemetry config field loss during CRD conversion
Documentation: Clarify field precedence and add proper kubebuilder annotations
---------

Signed-off-by: Jeremy Drouillard <[email protected]>

toolhive-operator-0.5.22

Toggle toolhive-operator-0.5.22's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update ghcr.io/stacklok/thv-registry-api Docker tag to v0.4.8 (#3276)

* Update ghcr.io/stacklok/thv-registry-api Docker tag to v0.4.8

* regenerate helm docs

* bump helm chart version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Don Browne <[email protected]>

toolhive-operator-crds-0.0.94

Toggle toolhive-operator-crds-0.0.94's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Improve CRD API documentation with opt-in type discovery and package …

…disambiguation (#3232)

This PR enhances the CRD API documentation generation to:

Include types from pkg/vmcp/config, pkg/telemetry, pkg/audit, and pkg/vmcp/auth/types in the generated docs, since these are now a part of the CRD spec as a result of Simplify VMCP Configuration #3125
Use package path prefixes to disambiguate types with the same name (e.g., vmcp.config.Config vs pkg.telemetry.Config)
Use an opt-in +gendoc marker to control which types outside api/v1alpha1 are documented.
Add a test to ensure config types remain documented
Update a comment to match a manual change to the docs repo to prevent it from getting squashed.
It is strongly recommended to review this commit-by-commit. The changes below were done incrementally with the intention of being reviewing commit-by-commit.

Large PR Justification
This PR includes a small number of changes, but it touches the generated CRD docs. Consequently, the diff is large.

Motivation
The CRD API documentation previously only included types from cmd/thv-operator/api/v1alpha1. However, the VirtualMCPServerSpec references vmcp/config.Config which in turn references types from pkg/telemetry and pkg/audit. These types were not being documented, leading to broken links and incomplete documentation.

Additionally, multiple packages have types named Config, causing anchor collisions in the markdown output.

Design Choice
I don't love the amount of yaml necessary for this change, but the baseline is copied from the crd-ref-docs. Alternatives considered:
Do nothing. If we do nothing, we generate docs for internal types that happen to be in the same package. crd-ref-docs is not smart enough to walk a struct and produce only the documentation necessary.
Explicitly excluding types. Opting out will fail eventually and it will result in internal types needlessly being included in the docs. This also doesn't solve the name collision problem. The name collision problem was addressable with either templates or manually renaming structs when we detect a collision.
Rolling our own solution that doesn't force us to put so much logic into yaml. This would be nice, but it's a bigger task and not one that felt justified at the moment.
Changes
Templates:

Introduced custom markdown templates for crd-ref-docs in docs/operator/templates/markdown/
Added package path prefixes to type headings (e.g., #### vmcp.config.Config)
Updated field type references to include package prefixes for local types
Filtered "Appears in" references to only show documented types
Configuration:

Added +gendoc custom marker to crd-ref-config.yaml for opt-in documentation. I would've preferred to rely on the kubebuilder:object:generate marker, but crd-ref-docs parses this in its own way.
Updated Taskfile.yml to run crd-ref-docs from repo root and include additional source paths
Added doc.go files with +groupName markers to discoverable packages
Source annotations:

Added +gendoc markers to all config structs that should be documented
Testing:

Added TestConfigTypesDocumentedInCRDAPI to verify all struct types in vmcp/config.Config are documented
I also manually tested the final crd-api.md in the docs website:
---------

Signed-off-by: Jeremy Drouillard <[email protected]>

toolhive-operator-0.5.21

Toggle toolhive-operator-0.5.21's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update toolhive images to v0.6.17 (#3186)

* Update toolhive images to v0.6.17

* Bump Helm chart version to 0.5.21

Update operator chart version and appVersion to match the updated
container images (v0.6.17). Regenerate documentation using helm-docs.

Co-authored-by: Juan Antonio Osorio <[email protected]>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Juan Antonio Osorio <[email protected]>

v0.6.17

Toggle v0.6.17's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add X-Forwarded-Prefix support for SSE endpoint URL rewriting (#3210)

* Add X-Forwarded-Prefix support for SSE endpoint URL rewriting

Implement SSE endpoint URL rewriting in the TransparentProxy to support
path-based ingress routing that strips path prefixes.

Changes:
- Add endpointPrefix and trustProxyHeaders fields to TransparentProxy
- Add sseRewriteConfig type for holding rewrite configuration
- Add getSSERewriteConfig() to determine rewrite config with priority:
  1. Explicit endpointPrefix (highest priority)
  2. X-Forwarded-Prefix header (when trustProxyHeaders is true)
  3. No rewriting (default)
- Add rewriteEndpointURL() to handle both relative and absolute URLs
- Refactor SSE response processing with sseLineProcessor struct
- Only rewrite "event: endpoint" events, pass others unchanged
- Preserve existing session ID extraction functionality

Fixes #3071

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Add EndpointPrefix to transport and runner config structs

Wire the endpointPrefix configuration through the transport layer:
- Add EndpointPrefix to transport.Config struct
- Add EndpointPrefix to runner.RunConfig struct
- Update HTTPTransport to accept and pass endpointPrefix to proxy
- Update factory.go to pass EndpointPrefix from config
- Update runner.go to include EndpointPrefix in transport config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Add --endpoint-prefix CLI flag to thv run command

Add CLI support for specifying the SSE endpoint URL prefix:
- Add EndpointPrefix field to RunFlags struct
- Add --endpoint-prefix flag with help text
- Add validation to ensure prefix starts with '/' when provided
- Add WithEndpointPrefix builder option in config_builder.go

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Add endpointPrefix field to MCPServer and MCPRemoteProxy CRDs

Add Kubernetes CRD support for configuring SSE endpoint URL prefix:
- Add EndpointPrefix field to MCPServerSpec and MCPRemoteProxySpec
- Wire field through controllers to runner config
- Regenerate CRD manifests with operator-generate/operator-manifests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* Add documentation for SSE endpoint URL rewriting feature

- Regenerate CLI docs with new --endpoint-prefix flag
- Add SSE Endpoint URL Rewriting section to transport architecture doc
- Document priority order, CLI usage, and Kubernetes CRD examples

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>

* bump chart version

* add an e2e test case

* fix lint/compiler issue

* Decouple response processing out of transparent proxy (#3216)

In order to minimize the amount of transport-specific logic in the
transparent proxy, create a response processor interface and put the new
SSE rewrite logic behind that interface. Create a no-op implementation
for HTTP streamable.

* oeprator crd version bump

---------

Co-authored-by: Jakub Hrozek <[email protected]>
Co-authored-by: Claude Opus 4.5 <[email protected]>
Co-authored-by: amirejaz <[email protected]>