Skip to main content
Version: 3.4.0-rc.1

cmind/modelmanager/v1/model_alias_service.proto

Package: cmind.modelmanager.v1

Enums​

ModelAliasTargetKind​

ModelAliasTargetKind enumerates the resource kinds a ModelAlias may target. Aliases may only point at direct invokable targets — chains of aliases are forbidden in v1.

ValueNumberDescription
MODEL_ALIAS_TARGET_KIND_UNSPECIFIED0
MODEL_ALIAS_TARGET_KIND_MODEL_DEPLOYMENT1
MODEL_ALIAS_TARGET_KIND_EXTERNAL_MODEL2

Messages​

ModelAliasTargetRef​

FieldTypeNumberDescription
kindModelAliasTargetKind1
namestring2

ModelAlias​

ModelAlias is the spec body for an alias. The Kubernetes admin handle is server-generated and carried as a separate name field on requests and responses — it isn't part of this message.

FieldTypeNumberDescription
publicModelIdstring1public_model_id is the client-facing identifier clients send in the OpenAI model field. Required, immutable, unique across ModelDeployment + ExternalModel + ModelAlias within the shared namespace. Validation mirrors the operator CRD: alnum start/end, 2–128 chars, internal chars [A-Za-z0-9._/-].
displayNamestring2display_name is the human-facing label rendered in pickers and admin UIs. Mutable; not required to be unique.
targetRefModelAliasTargetRef3target_ref points at the direct invokable (ModelDeployment or ExternalModel) that serves traffic for this alias. Mutable: changing it repoints the alias. Server-side authz requires can_admin on both the previous and the new target on update.
unlistedbool4unlisted hides the alias from public listings. Authz still applies — unlisting is a presentation choice, not an access control.
sharingSharing5sharing controls which tenants may invoke and delegate this platform-owned alias. Tenant-owned aliases are reserved for future work.

CreateModelAliasRequest​

FieldTypeNumberDescription
aliasModelAlias1

CreateModelAliasResponse​

FieldTypeNumberDescription
namestring1name is the server-generated Kubernetes admin handle.
aliasModelAlias2

GetModelAliasRequest​

FieldTypeNumberDescription
namestring1

GetModelAliasResponse​

FieldTypeNumberDescription
namestring1
aliasModelAlias2

UpdateModelAliasRequest​

FieldTypeNumberDescription
namestring1
aliasModelAlias2

UpdateModelAliasResponse​

FieldTypeNumberDescription
namestring1
aliasModelAlias2

DeleteModelAliasRequest​

FieldTypeNumberDescription
namestring1

DeleteModelAliasResponse​

ListModelAliasesRequest​

ListModelAliasesResponse​

FieldTypeNumberDescription
aliasesrepeated ListModelAliasesResponse.Item1

ListModelAliasesResponse.Item​

FieldTypeNumberDescription
namestring1
aliasModelAlias2

Services​

ModelAliasService​

ModelAliasService is the public CRUD surface for ModelAlias resources. Authz: alias invocation reaches the current target, but stable grants and listing checks name the alias. v1 aliases live in the shared api-services namespace and are platform-admin managed, so all CRUD RPCs are gated by can_manage_models. Create/Update/Delete additionally do server-side can_admin checks against the resolved target object so the gate stays correct when the FGA model gains finer-grained alias ownership.

CreateModelAlias​

POST /cmind.modelmanager.v1.ModelAliasService/CreateModelAlias

Request: CreateModelAliasRequest

Response: CreateModelAliasResponse

GetModelAlias​

GET /cmind.modelmanager.v1.ModelAliasService/GetModelAlias

Request: GetModelAliasRequest

Response: GetModelAliasResponse

UpdateModelAlias​

POST /cmind.modelmanager.v1.ModelAliasService/UpdateModelAlias

Request: UpdateModelAliasRequest

Response: UpdateModelAliasResponse

DeleteModelAlias​

POST /cmind.modelmanager.v1.ModelAliasService/DeleteModelAlias

Request: DeleteModelAliasRequest

Response: DeleteModelAliasResponse

ListModelAliases​

GET /cmind.modelmanager.v1.ModelAliasService/ListModelAliases

Handler filters per-item by can_read on the alias; gate here is just "logged in".

Request: ListModelAliasesRequest

Response: ListModelAliasesResponse