Skip to content

Commit ac12d4c

Browse files
Update ToolHive reference docs for toolhive-operator-crds-0.0.83 (#393)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent a837cbd commit ac12d4c

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

static/api-specs/toolhive-crd-api.md

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,22 @@ _Appears in:_
287287
| `url` _string_ | URL is the URL of the backend MCPServer | | |
288288

289289

290+
#### ElicitationResponseHandler
291+
292+
293+
294+
ElicitationResponseHandler defines how to handle user responses to elicitation requests
295+
296+
297+
298+
_Appears in:_
299+
- [WorkflowStep](#workflowstep)
300+
301+
| Field | Description | Default | Validation |
302+
| --- | --- | --- | --- |
303+
| `action` _string_ | Action defines the action to take when the user declines or cancels<br />- skip_remaining: Skip remaining steps in the workflow<br />- abort: Abort the entire workflow execution<br />- continue: Continue to the next step | abort | Enum: [skip_remaining abort continue] <br /> |
304+
305+
290306

291307

292308
#### EnvVar
@@ -359,6 +375,7 @@ _Appears in:_
359375
| --- | --- |
360376
| `tokenExchange` | ExternalAuthTypeTokenExchange is the type for RFC-8693 token exchange<br /> |
361377
| `headerInjection` | ExternalAuthTypeHeaderInjection is the type for custom header injection<br /> |
378+
| `unauthenticated` | ExternalAuthTypeUnauthenticated is the type for no authentication<br />This should only be used for backends on trusted networks (e.g., localhost, VPC)<br />or when authentication is handled by network-level security<br /> |
362379

363380

364381
#### FailureHandlingConfig
@@ -495,6 +512,7 @@ _Appears in:_
495512
| `jwksAllowPrivateIP` _boolean_ | JWKSAllowPrivateIP allows JWKS/OIDC endpoints on private IP addresses<br />Use with caution - only enable for trusted internal IDPs | false | |
496513
| `protectedResourceAllowPrivateIP` _boolean_ | ProtectedResourceAllowPrivateIP allows protected resource endpoint on private IP addresses<br />Use with caution - only enable for trusted internal IDPs or testing | false | |
497514
| `insecureAllowHTTP` _boolean_ | InsecureAllowHTTP allows HTTP (non-HTTPS) OIDC issuers for development/testing<br />WARNING: This is insecure and should NEVER be used in production<br />Only enable for local development, testing, or trusted internal networks | false | |
515+
| `scopes` _string array_ | Scopes is the list of OAuth scopes to advertise in the well-known endpoint (RFC 9728)<br />If empty, defaults to ["openid"] | | |
498516

499517

500518
#### KubernetesOIDCConfig
@@ -579,7 +597,7 @@ _Appears in:_
579597

580598
| Field | Description | Default | Validation |
581599
| --- | --- | --- | --- |
582-
| `type` _[ExternalAuthType](#externalauthtype)_ | Type is the type of external authentication to configure | | Enum: [tokenExchange headerInjection] <br />Required: \{\} <br /> |
600+
| `type` _[ExternalAuthType](#externalauthtype)_ | Type is the type of external authentication to configure | | Enum: [tokenExchange headerInjection unauthenticated] <br />Required: \{\} <br /> |
583601
| `tokenExchange` _[TokenExchangeConfig](#tokenexchangeconfig)_ | TokenExchange configures RFC-8693 OAuth 2.0 Token Exchange<br />Only used when Type is "tokenExchange" | | |
584602
| `headerInjection` _[HeaderInjectionConfig](#headerinjectionconfig)_ | HeaderInjection configures custom HTTP header injection<br />Only used when Type is "headerInjection" | | |
585603

@@ -693,8 +711,10 @@ _Appears in:_
693711
| Field | Description | Default | Validation |
694712
| --- | --- | --- | --- |
695713
| `phase` _[MCPGroupPhase](#mcpgroupphase)_ | Phase indicates current state | Pending | Enum: [Ready Pending Failed] <br /> |
696-
| `servers` _string array_ | Servers lists server names in this group | | |
697-
| `serverCount` _integer_ | ServerCount is the number of servers | | |
714+
| `servers` _string array_ | Servers lists MCPServer names in this group | | |
715+
| `serverCount` _integer_ | ServerCount is the number of MCPServers | | |
716+
| `remoteProxies` _string array_ | RemoteProxies lists MCPRemoteProxy names in this group | | |
717+
| `remoteProxyCount` _integer_ | RemoteProxyCount is the number of MCPRemoteProxies | | |
698718
| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#condition-v1-meta) array_ | Conditions represent observations | | |
699719

700720

@@ -940,6 +960,7 @@ _Appears in:_
940960
| `resources` _[ResourceRequirements](#resourcerequirements)_ | Resources defines the resource requirements for the proxy container | | |
941961
| `trustProxyHeaders` _boolean_ | TrustProxyHeaders indicates whether to trust X-Forwarded-* headers from reverse proxies<br />When enabled, the proxy will use X-Forwarded-Proto, X-Forwarded-Host, X-Forwarded-Port,<br />and X-Forwarded-Prefix headers to construct endpoint URLs | false | |
942962
| `resourceOverrides` _[ResourceOverrides](#resourceoverrides)_ | ResourceOverrides allows overriding annotations and labels for resources created by the operator | | |
963+
| `groupRef` _string_ | GroupRef is the name of the MCPGroup this proxy belongs to<br />Must reference an existing MCPGroup in the same namespace | | |
943964

944965

945966
#### MCPRemoteProxyStatus
@@ -1294,6 +1315,7 @@ _Appears in:_
12941315

12951316
| Field | Description | Default | Validation |
12961317
| --- | --- | --- | --- |
1318+
| `logLevel` _string_ | LogLevel sets the logging level for the Virtual MCP server.<br />Set to "debug" to enable debug logging. When not set, defaults to info level. | | Enum: [debug] <br /> |
12971319
| `timeouts` _[TimeoutConfig](#timeoutconfig)_ | Timeouts configures timeout settings | | |
12981320
| `failureHandling` _[FailureHandlingConfig](#failurehandlingconfig)_ | FailureHandling configures failure handling behavior | | |
12991321

@@ -1695,6 +1717,7 @@ TelemetryConfig defines observability configuration for the MCP server
16951717
_Appears in:_
16961718
- [MCPRemoteProxySpec](#mcpremoteproxyspec)
16971719
- [MCPServerSpec](#mcpserverspec)
1720+
- [VirtualMCPServerSpec](#virtualmcpserverspec)
16981721

16991722
| Field | Description | Default | Validation |
17001723
| --- | --- | --- | --- |
@@ -1973,6 +1996,7 @@ _Appears in:_
19731996
| `operational` _[OperationalConfig](#operationalconfig)_ | Operational defines operational settings like timeouts and health checks | | |
19741997
| `serviceType` _string_ | ServiceType specifies the Kubernetes service type for the Virtual MCP server | ClusterIP | Enum: [ClusterIP NodePort LoadBalancer] <br /> |
19751998
| `podTemplateSpec` _[RawExtension](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#rawextension-runtime-pkg)_ | PodTemplateSpec defines the pod template to use for the Virtual MCP server<br />This allows for customizing the pod configuration beyond what is provided by the other fields.<br />Note that to modify the specific container the Virtual MCP server runs in, you must specify<br />the 'vmcp' container name in the PodTemplateSpec.<br />This field accepts a PodTemplateSpec object as JSON/YAML. | | Type: object <br /> |
1999+
| `telemetry` _[TelemetryConfig](#telemetryconfig)_ | Telemetry configures OpenTelemetry-based observability for the Virtual MCP server<br />including distributed tracing, OTLP metrics export, and Prometheus metrics endpoint | | |
19762000

19772001

19782002
#### VirtualMCPServerStatus
@@ -2033,13 +2057,16 @@ _Appears in:_
20332057
| `id` _string_ | ID is the unique identifier for this step | | Required: \{\} <br /> |
20342058
| `type` _string_ | Type is the step type (tool, elicitation, etc.) | tool | Enum: [tool elicitation] <br /> |
20352059
| `tool` _string_ | Tool is the tool to call (format: "workload.tool_name")<br />Only used when Type is "tool" | | |
2036-
| `arguments` _object (keys:string, values:string)_ | Arguments is a map of argument templates<br />Supports Go template syntax with .params and .steps | | |
2060+
| `arguments` _[RawExtension](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#rawextension-runtime-pkg)_ | Arguments is a map of argument values with template expansion support.<br />Supports Go template syntax with .params and .steps for string values.<br />Non-string values (integers, booleans, arrays, objects) are passed as-is.<br />Note: the templating is only supported on the first level of the key-value pairs. | | Type: object <br /> |
20372061
| `message` _string_ | Message is the elicitation message<br />Only used when Type is "elicitation" | | |
20382062
| `schema` _[RawExtension](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#rawextension-runtime-pkg)_ | Schema defines the expected response schema for elicitation | | Type: object <br /> |
2063+
| `onDecline` _[ElicitationResponseHandler](#elicitationresponsehandler)_ | OnDecline defines the action to take when the user explicitly declines the elicitation<br />Only used when Type is "elicitation" | | |
2064+
| `onCancel` _[ElicitationResponseHandler](#elicitationresponsehandler)_ | OnCancel defines the action to take when the user cancels/dismisses the elicitation<br />Only used when Type is "elicitation" | | |
20392065
| `dependsOn` _string array_ | DependsOn lists step IDs that must complete before this step | | |
20402066
| `condition` _string_ | Condition is a template expression that determines if the step should execute | | |
20412067
| `onError` _[ErrorHandling](#errorhandling)_ | OnError defines error handling behavior | | |
20422068
| `timeout` _string_ | Timeout is the maximum execution time for this step | | |
2069+
| `defaultResults` _object (keys:string, values:[RawExtension](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#rawextension-runtime-pkg))_ | DefaultResults provides fallback output values when this step is skipped<br />(due to condition evaluating to false) or fails (when onError.action is "continue").<br />Each key corresponds to an output field name referenced by downstream steps.<br />Required if the step may be skipped AND downstream steps reference this step's output. | | Schemaless: \{\} <br /> |
20432070

20442071

20452072
#### WorkloadToolConfig

0 commit comments

Comments
 (0)