cmind/ragmanager/v1/rag_deployment_service.proto
Package: cmind.ragmanager.v1
Enums
StatusEventType
Status Streaming Messages
| Value | Number | Description |
|---|---|---|
STATUS_EVENT_TYPE_UNSPECIFIED | 0 | |
STATUS_EVENT_TYPE_SNAPSHOT | 1 | Initial state on subscribe |
STATUS_EVENT_TYPE_UPDATED | 2 | State changed |
STATUS_EVENT_TYPE_DELETED | 3 | Deployment deleted |
Messages
ModelConfig
ModelConfig declares the per-role model ids the RAG deployment uses when routing through the model-gateway. All fields are optional so deployments can stay on the legacy connector system; the operator only emits the env vars for roles whose ids are set, and the RAG service surfaces a 412 at request time when an unset role's feature is invoked. Mirrors the RagDeploymentSpec.models block on the operator CRD.
| Field | Type | Number | Description |
|---|---|---|---|
embeddingModelId | string | 1 | |
generationModelId | string | 2 | |
rerankerModelId | string | 3 | |
visionModelId | string | 4 |
Rag
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
name | string | 2 | |
tenantId | string | 3 | |
deploymentConfig | cmind.serviceconfig.v1.DeploymentConfig | 4 | |
connectors | repeated cmind.serviceconfig.v1.Connector | 5 | |
status | cmind.serviceconfig.v1.DeploymentState | 6 | |
config | google.protobuf.Any | 7 | |
configSchema | google.protobuf.Any | 8 | |
models | ModelConfig | 9 | |
configFilePath | string | 10 | Path of the RAG config file baked into the container image that this deployment runs with. Empty means the operator's built-in default. Settable only at create time — the config pins ingestion-affecting values (embedder, chunking), so changing it on a live deployment would invalidate already-ingested data. |
description | string | 11 | Human-readable description of what this RAG's knowledge base contains. Surfaced to models as the search tool's description. |
CreateRagRequest
| Field | Type | Number | Description |
|---|---|---|---|
name | string | 1 | |
tenantId | string | 2 | |
connectors | repeated cmind.serviceconfig.v1.Connector | 3 | |
deploymentConfig | cmind.serviceconfig.v1.DeploymentConfig | 4 | |
models | ModelConfig | 5 | |
configFilePath | string | 6 | Optional path to the RAG config file inside the container image. When empty, the operator applies its built-in default. Used by CI to exercise alternate configs without rebuilding the image. |
description | string | 7 | Mandatory: human-readable description of the knowledge base's domain, shown to models as the search tool's description so they route correctly. |
CreateRagResponse
| Field | Type | Number | Description |
|---|---|---|---|
rag | Rag | 1 |
DeleteRagRequest
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
tenantId | string | 2 |
DeleteRagResponse
UpdateRagRequest
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
tenantId | string | 2 | |
updateMask | google.protobuf.FieldMask | 3 | |
name | string | 4 | Updatable fields |
connectors | repeated cmind.serviceconfig.v1.Connector | 5 | |
deploymentConfig | cmind.serviceconfig.v1.DeploymentConfig | 6 | |
config | google.protobuf.Any | 7 | |
models | ModelConfig | 8 | |
description | string | 9 | Updatable description (field-mask gated). No min_len here: non-empty is enforced in the handler only when "description" is in the update_mask, so updates that don't touch the description aren't rejected. |
UpdateRagResponse
| Field | Type | Number | Description |
|---|---|---|---|
rag | Rag | 1 |
StartRagRequest
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
tenantId | string | 2 |
StartRagResponse
StopRagRequest
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
tenantId | string | 2 |
StopRagResponse
GetRagRequest
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
tenantId | string | 2 |
GetRagResponse
| Field | Type | Number | Description |
|---|---|---|---|
rag | Rag | 1 |
WatchDeploymentStatusRequest
| Field | Type | Number | Description |
|---|---|---|---|
tenantId | string | 1 | |
ids | repeated string | 2 | Required: list of deployments to watch (empty not supported) |
WatchDeploymentStatusResponse
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
name | string | 2 | |
tenantId | string | 3 | |
state | cmind.serviceconfig.v1.DeploymentState | 4 | |
message | string | 5 | |
updatedAt | google.protobuf.Timestamp | 6 | |
eventType | StatusEventType | 7 | |
runningImage | string | 8 | running_image is the image the operator most recently asked the child Deployment to run — spec.image when set, otherwise the operator's DEFAULT_RAG_IMAGE. Empty until the first reconcile writes status. |
SetDefaultModelsRequest
Empty string per role clears that role; PUT semantics.
| Field | Type | Number | Description |
|---|---|---|---|
models | ModelConfig | 1 |
SetDefaultModelsResponse
| Field | Type | Number | Description |
|---|---|---|---|
models | ModelConfig | 1 |
GetDefaultModelsRequest
GetDefaultModelsResponse
| Field | Type | Number | Description |
|---|---|---|---|
models | ModelConfig | 1 |
ListRagDeploymentPermissionsRequest
| Field | Type | Number | Description |
|---|---|---|---|
deploymentId | string | 1 | |
tenantId | string | 2 | |
subjectType | optional cmind.permissions.v1.SubjectType | 3 | Optional filters. Unset (or UNSPECIFIED) means "no filter on that dimension". |
role | optional cmind.permissions.v1.DeploymentRole | 4 |
ListRagDeploymentPermissionsResponse
| Field | Type | Number | Description |
|---|---|---|---|
permissions | repeated cmind.permissions.v1.DeploymentPermission | 1 |
AddRagDeploymentPermissionRequest
AddRagDeploymentPermission enforces tenant scoping: the deployment must actually belong to tenant_id and the subject must already be a member of that tenant. Both checks are FGA Check calls (BatchChecked together). tenant_id duplicates information the server could derive, but supplying it mirrors the rest of the RAG service and lets us validate the client's understanding of the deployment's tenant up front.
| Field | Type | Number | Description |
|---|---|---|---|
deploymentId | string | 1 | |
tenantId | string | 2 | |
subject | cmind.permissions.v1.Subject | 3 | |
role | cmind.permissions.v1.DeploymentRole | 4 |
AddRagDeploymentPermissionResponse
RemoveRagDeploymentPermissionRequest
| Field | Type | Number | Description |
|---|---|---|---|
deploymentId | string | 1 | |
tenantId | string | 2 | |
subject | cmind.permissions.v1.Subject | 3 | |
role | cmind.permissions.v1.DeploymentRole | 4 |
RemoveRagDeploymentPermissionResponse
ListRagsRequest
TODO: add page_token / next_page_token pagination before tenants accumulate enough RAGs / data sources to make unbounded lists painful.
| Field | Type | Number | Description |
|---|---|---|---|
tenantId | string | 1 |
ListRagsResponse
| Field | Type | Number | Description |
|---|---|---|---|
rags | repeated Rag | 1 |
DataSource
| Field | Type | Number | Description |
|---|---|---|---|
id | string | 1 | |
name | string | 2 |
ListDataSourcesRequest
| Field | Type | Number | Description |
|---|---|---|---|
tenantId | string | 1 |
ListDataSourcesResponse
| Field | Type | Number | Description |
|---|---|---|---|
dataSources | repeated DataSource | 1 |
Services
RagDeploymentService
CreateRag
Request: CreateRagRequest
Response: CreateRagResponse
DeleteRag
Request: DeleteRagRequest
Response: DeleteRagResponse
UpdateRag
Request: UpdateRagRequest
Response: UpdateRagResponse
StartRag
Request: StartRagRequest
Response: StartRagResponse
StopRag
Request: StopRagRequest
Response: StopRagResponse
GetRag
Request: GetRagRequest
Response: GetRagResponse
WatchDeploymentStatus
Status Streaming RPC (filtered by ids).
Request: WatchDeploymentStatusRequest
Response: stream WatchDeploymentStatusResponse
SetDefaultModels
Platform-wide default model routes. Applied client-side by the portal at create time — non-portal callers (cmctl, Terraform, direct gRPC) must specify models explicitly on CreateRag.
Request: SetDefaultModelsRequest
Response: SetDefaultModelsResponse
GetDefaultModels
Request: GetDefaultModelsRequest
Response: GetDefaultModelsResponse
ListRagDeploymentPermissions
Request: ListRagDeploymentPermissionsRequest
Response: ListRagDeploymentPermissionsResponse
AddRagDeploymentPermission
Request: AddRagDeploymentPermissionRequest
Response: AddRagDeploymentPermissionResponse
RemoveRagDeploymentPermission
Request: RemoveRagDeploymentPermissionRequest
Response: RemoveRagDeploymentPermissionResponse
ListDataSources
Request: ListDataSourcesRequest
Response: ListDataSourcesResponse
ListRags
Request: ListRagsRequest
Response: ListRagsResponse