diff --git a/docs/toolhive/guides-k8s/migrate-to-v1beta1.mdx b/docs/toolhive/guides-k8s/migrate-to-v1beta1.mdx index a2dae519..8078c384 100644 --- a/docs/toolhive/guides-k8s/migrate-to-v1beta1.mdx +++ b/docs/toolhive/guides-k8s/migrate-to-v1beta1.mdx @@ -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 @@ -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 \ @@ -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`)