diff --git a/static/api-specs/toolhive-crd-api.md b/static/api-specs/toolhive-crd-api.md index 1424ef5b..7f791e75 100644 --- a/static/api-specs/toolhive-crd-api.md +++ b/static/api-specs/toolhive-crd-api.md @@ -17,6 +17,46 @@ Package v1alpha1 contains API Schema definitions for the toolhive v1alpha1 API g +#### APIPhase + +_Underlying type:_ _string_ + +APIPhase represents the API service state + +_Validation:_ +- Enum: [NotStarted Deploying Ready Unhealthy Error] + +_Appears in:_ +- [APIStatus](#apistatus) + +| Field | Description | +| --- | --- | +| `NotStarted` | APIPhaseNotStarted means API deployment has not been created
| +| `Deploying` | APIPhaseDeploying means API is being deployed
| +| `Ready` | APIPhaseReady means API is ready to serve requests
| +| `Unhealthy` | APIPhaseUnhealthy means API is deployed but not healthy
| +| `Error` | APIPhaseError means API deployment failed
| + + +#### APIStatus + + + +APIStatus provides detailed information about the API service + + + +_Appears in:_ +- [MCPRegistryStatus](#mcpregistrystatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `phase` _[APIPhase](#apiphase)_ | Phase represents the current API service phase | | Enum: [NotStarted Deploying Ready Unhealthy Error]
| +| `message` _string_ | Message provides additional information about the API status | | | +| `endpoint` _string_ | Endpoint is the URL where the API is accessible | | | +| `readySince` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#time-v1-meta)_ | ReadySince is the timestamp when the API became ready | | | + + #### AuditConfig @@ -318,14 +358,10 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `phase` _[MCPRegistryPhase](#mcpregistryphase)_ | Phase represents the current phase of the MCPRegistry | | Enum: [Pending Ready Failed Syncing Terminating]
| +| `phase` _[MCPRegistryPhase](#mcpregistryphase)_ | Phase represents the current overall phase of the MCPRegistry
Derived from sync and API status | | Enum: [Pending Ready Failed Syncing Terminating]
| | `message` _string_ | Message provides additional information about the current phase | | | -| `lastSyncTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#time-v1-meta)_ | LastSyncTime is the timestamp of the last successful sync | | | -| `lastSyncHash` _string_ | LastSyncHash is the hash of the last successfully synced data
Used to detect changes in source data | | | -| `serverCount` _integer_ | ServerCount is the total number of servers in the registry | | Minimum: 0
| -| `deployedServerCount` _integer_ | DeployedServerCount is the number of deployed servers with matching labels | | Minimum: 0
| -| `syncAttempts` _integer_ | SyncAttempts is the number of sync attempts since last success | | Minimum: 0
| -| `apiEndpoint` _string_ | APIEndpoint is the URL of the registry API service | | | +| `syncStatus` _[SyncStatus](#syncstatus)_ | SyncStatus provides detailed information about data synchronization | | | +| `apiStatus` _[APIStatus](#apistatus)_ | APIStatus provides detailed information about the API service | | | | `storageRef` _[StorageReference](#storagereference)_ | StorageRef is a reference to the internal storage location | | | | `lastManualSyncTrigger` _string_ | LastManualSyncTrigger tracks the last processed manual sync annotation value
Used to detect new manual sync requests via toolhive.stacklok.dev/sync-trigger annotation | | | | `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#condition-v1-meta) array_ | Conditions represent the latest available observations of the MCPRegistry's state | | | @@ -832,6 +868,26 @@ _Appears in:_ | `configMapRef` _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#localobjectreference-v1-core)_ | ConfigMapRef is a reference to a ConfigMap storage
Only used when Type is "configmap" | | | +#### SyncPhase + +_Underlying type:_ _string_ + +SyncPhase represents the data synchronization state + +_Validation:_ +- Enum: [Idle Syncing Complete Failed] + +_Appears in:_ +- [SyncStatus](#syncstatus) + +| Field | Description | +| --- | --- | +| `Idle` | SyncPhaseIdle means no sync is needed or scheduled
| +| `Syncing` | SyncPhaseSyncing means sync is currently in progress
| +| `Complete` | SyncPhaseComplete means sync completed successfully
| +| `Failed` | SyncPhaseFailed means sync failed
| + + #### SyncPolicy @@ -851,6 +907,28 @@ _Appears in:_ | `interval` _string_ | Interval is the sync interval for automatic synchronization (Go duration format)
Examples: "1h", "30m", "24h" | | Pattern: `^([0-9]+(\.[0-9]+)?(ns\|us\|µs\|ms\|s\|m\|h))+$`
Required: \{\}
| +#### SyncStatus + + + +SyncStatus provides detailed information about data synchronization + + + +_Appears in:_ +- [MCPRegistryStatus](#mcpregistrystatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `phase` _[SyncPhase](#syncphase)_ | Phase represents the current synchronization phase | | Enum: [Idle Syncing Complete Failed]
| +| `message` _string_ | Message provides additional information about the sync status | | | +| `lastAttempt` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#time-v1-meta)_ | LastAttempt is the timestamp of the last sync attempt | | | +| `attemptCount` _integer_ | AttemptCount is the number of sync attempts since last success | | Minimum: 0
| +| `lastSyncTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#time-v1-meta)_ | LastSyncTime is the timestamp of the last successful sync | | | +| `lastSyncHash` _string_ | LastSyncHash is the hash of the last successfully synced data
Used to detect changes in source data | | | +| `serverCount` _integer_ | ServerCount is the total number of servers in the registry | | Minimum: 0
| + + #### TagFilter