Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 25 additions & 20 deletions docs/toolhive/guides-k8s/migrate-to-v1beta1.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,29 @@ spec:
key: ca.crt
```

### `referencingServers` replaced with `referencingWorkloads`

The `status.referencingServers` field (a plain `[]string`) has been replaced
with `status.referencingWorkloads` (an array of `{kind, name}` objects) on the
shared configuration CRDs: MCPOIDCConfig, MCPToolConfig, MCPExternalAuthConfig,
and MCPTelemetryConfig.

```yaml
# Before
status:
referencingServers:
- 'my-server'
- 'my-other-server'

# After (v0.15.0 through v0.41.x)
status:
referencingWorkloads:
- kind: MCPServer
name: my-server
- kind: VirtualMCPServer
name: my-other-server
```

:::info[Removed in v0.42.0]

The reference-tracking status fields (`status.referencingWorkloads` and, where
Expand All @@ -195,7 +218,8 @@ Deletion protection is unchanged - each config controller still blocks deletion
while any workload references it, exposed through the `DeletionBlocked`
condition.

To list workloads that reference a config, query them by their config-ref field:
Any scripts, monitoring, or tooling that reads these fields must switch to a
workload query instead:

```bash
kubectl get mcpservers,mcpremoteproxies,virtualmcpservers -n toolhive-system \
Expand All @@ -206,25 +230,6 @@ kubectl get mcpservers,mcpremoteproxies,virtualmcpservers -n toolhive-system \

:::

```yaml
# Before
status:
referencingServers:
- 'my-server'
- 'my-other-server'

# After (v0.15.0 through v0.41.x)
status:
referencingWorkloads:
- kind: MCPServer
name: my-server
- kind: VirtualMCPServer
name: my-other-server
```

Any scripts, monitoring, or tooling that reads these fields must switch to a
workload query as shown above.

### Expanded Cedar policy enforcement

Cedar authorization now covers optimizer meta-tools (`find_tool`, `call_tool`)
Expand Down