Skip to main content

cmind/ragmanager/v1/rag_deployment_service.proto

Package: cmind.ragmanager.v1

Enums

StatusEventType

Status Streaming Messages

ValueNumberDescription
STATUS_EVENT_TYPE_UNSPECIFIED0
STATUS_EVENT_TYPE_SNAPSHOT1Initial state on subscribe
STATUS_EVENT_TYPE_UPDATED2State changed
STATUS_EVENT_TYPE_DELETED3Deployment 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.

FieldTypeNumberDescription
embeddingModelIdstring1
generationModelIdstring2
rerankerModelIdstring3
visionModelIdstring4

Rag

FieldTypeNumberDescription
idstring1
namestring2
tenantIdstring3
deploymentConfigcmind.serviceconfig.v1.DeploymentConfig4
connectorsrepeated cmind.serviceconfig.v1.Connector5
statuscmind.serviceconfig.v1.DeploymentState6
configgoogle.protobuf.Any7
configSchemagoogle.protobuf.Any8
modelsModelConfig9
configFilePathstring10Path 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.
descriptionstring11Human-readable description of what this RAG's knowledge base contains. Surfaced to models as the search tool's description.

CreateRagRequest

FieldTypeNumberDescription
namestring1
tenantIdstring2
connectorsrepeated cmind.serviceconfig.v1.Connector3
deploymentConfigcmind.serviceconfig.v1.DeploymentConfig4
modelsModelConfig5
configFilePathstring6Optional 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.
descriptionstring7Mandatory: human-readable description of the knowledge base's domain, shown to models as the search tool's description so they route correctly.

CreateRagResponse

FieldTypeNumberDescription
ragRag1

DeleteRagRequest

FieldTypeNumberDescription
idstring1
tenantIdstring2

DeleteRagResponse

UpdateRagRequest

FieldTypeNumberDescription
idstring1
tenantIdstring2
updateMaskgoogle.protobuf.FieldMask3
namestring4Updatable fields
connectorsrepeated cmind.serviceconfig.v1.Connector5
deploymentConfigcmind.serviceconfig.v1.DeploymentConfig6
configgoogle.protobuf.Any7
modelsModelConfig8
descriptionstring9Updatable 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

FieldTypeNumberDescription
ragRag1

StartRagRequest

FieldTypeNumberDescription
idstring1
tenantIdstring2

StartRagResponse

StopRagRequest

FieldTypeNumberDescription
idstring1
tenantIdstring2

StopRagResponse

GetRagRequest

FieldTypeNumberDescription
idstring1
tenantIdstring2

GetRagResponse

FieldTypeNumberDescription
ragRag1

WatchDeploymentStatusRequest

FieldTypeNumberDescription
tenantIdstring1
idsrepeated string2Required: list of deployments to watch (empty not supported)

WatchDeploymentStatusResponse

FieldTypeNumberDescription
idstring1
namestring2
tenantIdstring3
statecmind.serviceconfig.v1.DeploymentState4
messagestring5
updatedAtgoogle.protobuf.Timestamp6
eventTypeStatusEventType7
runningImagestring8running_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.

FieldTypeNumberDescription
modelsModelConfig1

SetDefaultModelsResponse

FieldTypeNumberDescription
modelsModelConfig1

GetDefaultModelsRequest

GetDefaultModelsResponse

FieldTypeNumberDescription
modelsModelConfig1

ListRagDeploymentPermissionsRequest

FieldTypeNumberDescription
deploymentIdstring1
tenantIdstring2
subjectTypeoptional cmind.permissions.v1.SubjectType3Optional filters. Unset (or UNSPECIFIED) means "no filter on that dimension".
roleoptional cmind.permissions.v1.DeploymentRole4

ListRagDeploymentPermissionsResponse

FieldTypeNumberDescription
permissionsrepeated cmind.permissions.v1.DeploymentPermission1

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.

FieldTypeNumberDescription
deploymentIdstring1
tenantIdstring2
subjectcmind.permissions.v1.Subject3
rolecmind.permissions.v1.DeploymentRole4

AddRagDeploymentPermissionResponse

RemoveRagDeploymentPermissionRequest

FieldTypeNumberDescription
deploymentIdstring1
tenantIdstring2
subjectcmind.permissions.v1.Subject3
rolecmind.permissions.v1.DeploymentRole4

RemoveRagDeploymentPermissionResponse

ListRagsRequest

TODO: add page_token / next_page_token pagination before tenants accumulate enough RAGs / data sources to make unbounded lists painful.

FieldTypeNumberDescription
tenantIdstring1

ListRagsResponse

FieldTypeNumberDescription
ragsrepeated Rag1

DataSource

FieldTypeNumberDescription
idstring1
namestring2

ListDataSourcesRequest

FieldTypeNumberDescription
tenantIdstring1

ListDataSourcesResponse

FieldTypeNumberDescription
dataSourcesrepeated DataSource1

Services

RagDeploymentService

CreateRag

POST /cmind.ragmanager.v1.RagDeploymentService/CreateRag

Request: CreateRagRequest

Response: CreateRagResponse

DeleteRag

POST /cmind.ragmanager.v1.RagDeploymentService/DeleteRag

Request: DeleteRagRequest

Response: DeleteRagResponse

UpdateRag

POST /cmind.ragmanager.v1.RagDeploymentService/UpdateRag

Request: UpdateRagRequest

Response: UpdateRagResponse

StartRag

POST /cmind.ragmanager.v1.RagDeploymentService/StartRag

Request: StartRagRequest

Response: StartRagResponse

StopRag

POST /cmind.ragmanager.v1.RagDeploymentService/StopRag

Request: StopRagRequest

Response: StopRagResponse

GetRag

GET /cmind.ragmanager.v1.RagDeploymentService/GetRag

Request: GetRagRequest

Response: GetRagResponse

WatchDeploymentStatus

POST /cmind.ragmanager.v1.RagDeploymentService/WatchDeploymentStatus

Status Streaming RPC (filtered by ids).

Request: WatchDeploymentStatusRequest

Response: stream WatchDeploymentStatusResponse

SetDefaultModels

POST /cmind.ragmanager.v1.RagDeploymentService/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

GET /cmind.ragmanager.v1.RagDeploymentService/GetDefaultModels

Request: GetDefaultModelsRequest

Response: GetDefaultModelsResponse

ListRagDeploymentPermissions

GET /cmind.ragmanager.v1.RagDeploymentService/ListRagDeploymentPermissions

Request: ListRagDeploymentPermissionsRequest

Response: ListRagDeploymentPermissionsResponse

AddRagDeploymentPermission

POST /cmind.ragmanager.v1.RagDeploymentService/AddRagDeploymentPermission

Request: AddRagDeploymentPermissionRequest

Response: AddRagDeploymentPermissionResponse

RemoveRagDeploymentPermission

POST /cmind.ragmanager.v1.RagDeploymentService/RemoveRagDeploymentPermission

Request: RemoveRagDeploymentPermissionRequest

Response: RemoveRagDeploymentPermissionResponse

ListDataSources

GET /cmind.ragmanager.v1.RagDeploymentService/ListDataSources

Request: ListDataSourcesRequest

Response: ListDataSourcesResponse

ListRags

GET /cmind.ragmanager.v1.RagDeploymentService/ListRags

Request: ListRagsRequest

Response: ListRagsResponse