OpenAPI Specification
openapi: 3.0.1
info:
title: yatai api server admin api v1 API
description: This is yatai api server.
version: 1.0.0
tags:
- name: admin api v1
description: admin api v1
paths:
/api/admin/v1/clusters:
get:
tags:
- admin api v1
summary: List clusters in admin panel
operationId: List clusters in admin panel
parameters:
- name: count
in: query
schema:
type: integer
format: int32
- name: q
in: query
schema:
type: string
- name: search
in: query
schema:
type: string
nullable: true
- name: start
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Schemasv1ClusterListSchema'
/api/admin/v1/deployments:
get:
tags:
- admin api v1
summary: List deployments in admin panel
operationId: List deployments in admin panel
parameters:
- name: count
in: query
schema:
type: integer
format: int32
- name: q
in: query
schema:
type: string
- name: search
in: query
schema:
type: string
nullable: true
- name: start
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Schemasv1AdminDeploymentListSchema'
/api/admin/v1/sync_all_tenant_resources:
put:
tags:
- admin api v1
summary: Sync all tenant resources in a cluster in admin panel
operationId: Sync all tenant resources in a cluster in admin panel
parameters:
- name: count
in: query
schema:
type: integer
format: int32
- name: q
in: query
schema:
type: string
- name: search
in: query
schema:
type: string
nullable: true
- name: start
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Admincontrollersv1SyncResultSchema'
components:
schemas:
V1SecretEnvSource:
type: object
properties:
LocalObjectReference:
$ref: '#/components/schemas/V1LocalObjectReference'
optional:
type: boolean
nullable: true
ModelschemasDeploymentRoutingSchema:
type: object
properties:
route_by:
type: string
nullable: true
route_type:
type: string
nullable: true
weights:
type: object
additionalProperties:
type: integer
format: int32
V1GitRepoVolumeSource:
type: object
properties:
directory:
type: string
repository:
type: string
revision:
type: string
V1LabelSelector:
type: object
properties:
matchExpressions:
type: array
items:
$ref: '#/components/schemas/V1LabelSelectorRequirement'
matchLabels:
type: object
additionalProperties:
type: string
V1FlexVolumeSource:
type: object
properties:
driver:
type: string
fsType:
type: string
options:
type: object
additionalProperties:
type: string
readOnly:
type: boolean
secretRef:
$ref: '#/components/schemas/V1LocalObjectReference'
ModelschemasDeploymentTargetResourceItem:
type: object
properties:
cpu:
type: string
custom:
type: object
additionalProperties:
type: string
gpu:
type: string
memory:
type: string
V1ServiceAccountTokenProjection:
type: object
properties:
audience:
type: string
expirationSeconds:
type: integer
format: int64
nullable: true
path:
type: string
V1Affinity:
type: object
properties:
nodeAffinity:
$ref: '#/components/schemas/V1NodeAffinity'
podAffinity:
$ref: '#/components/schemas/V1PodAffinity'
podAntiAffinity:
$ref: '#/components/schemas/V1PodAntiAffinity'
ModelschemasEnvItemSchema:
type: object
properties:
name:
type: string
stage:
type: string
value:
type: string
ModelschemasDeploymentManifest:
type: object
properties:
dev:
type: boolean
replicas:
type: object
additionalProperties:
type: integer
format: int32
routing:
$ref: '#/components/schemas/ModelschemasDeploymentRoutingSchema'
super_admin:
type: boolean
V1KeyToPath:
type: object
properties:
key:
type: string
mode:
type: integer
format: int32
nullable: true
path:
type: string
V1EmptyDirVolumeSource:
type: object
properties:
medium:
type: string
sizeLimit:
$ref: '#/components/schemas/ResourceQuantity'
V1PhotonPersistentDiskVolumeSource:
type: object
properties:
fsType:
type: string
pdID:
type: string
ModelschemasDeploymentTargetHPAConf:
type: object
properties:
max_replicas:
type: integer
format: int32
nullable: true
min_replicas:
type: integer
format: int32
nullable: true
policy:
$ref: '#/components/schemas/ModelschemasHPAPolicy'
V1ClusterTrustBundleProjection:
type: object
properties:
labelSelector:
$ref: '#/components/schemas/V1LabelSelector'
name:
type: string
nullable: true
optional:
type: boolean
nullable: true
path:
type: string
signerName:
type: string
nullable: true
ModelschemasHPAPolicy:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/ModelschemasHPAMetric'
scale_down_behavior:
type: string
nullable: true
scale_down_stabilization_window:
type: integer
format: int32
nullable: true
scale_up_behavior:
type: string
nullable: true
scale_up_stabilization_window:
type: integer
format: int32
nullable: true
scaling_strategy:
type: string
nullable: true
V1DownwardAPIProjection:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/V1DownwardAPIVolumeFile'
V1DownwardAPIVolumeFile:
type: object
properties:
fieldRef:
$ref: '#/components/schemas/V1ObjectFieldSelector'
mode:
type: integer
format: int32
nullable: true
path:
type: string
resourceFieldRef:
$ref: '#/components/schemas/V1ResourceFieldSelector'
V1LabelSelectorRequirement:
type: object
properties:
key:
type: string
operator:
type: string
values:
type: array
items:
type: string
ModelschemasDeploymentTargetRunnerConfig:
type: object
properties:
bento_function_overrides:
$ref: '#/components/schemas/ModelschemasRunnerBentoFunctionOverrides'
deployment_cold_start_wait_timeout:
type: integer
format: int64
nullable: true
deployment_strategy:
type: string
nullable: true
enable_debug_mode:
type: boolean
nullable: true
enable_debug_pod_receive_production_traffic:
type: boolean
nullable: true
enable_stealing_traffic_debug_mode:
type: boolean
nullable: true
envs:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
hpa_conf:
$ref: '#/components/schemas/ModelschemasDeploymentTargetHPAConf'
resource_instance:
type: string
nullable: true
resources:
$ref: '#/components/schemas/ModelschemasDeploymentTargetResources'
secrets:
type: array
items:
type: string
traffic_control:
$ref: '#/components/schemas/ModelschemasTrafficControlConfig'
V1SecretProjection:
type: object
properties:
LocalObjectReference:
$ref: '#/components/schemas/V1LocalObjectReference'
items:
type: array
items:
$ref: '#/components/schemas/V1KeyToPath'
optional:
type: boolean
nullable: true
V1NodeSelectorTerm:
type: object
properties:
matchExpressions:
type: array
items:
$ref: '#/components/schemas/V1NodeSelectorRequirement'
matchFields:
type: array
items:
$ref: '#/components/schemas/V1NodeSelectorRequirement'
V1PodCertificateProjection:
type: object
properties:
certificateChainPath:
type: string
credentialBundlePath:
type: string
keyPath:
type: string
keyType:
type: string
maxExpirationSeconds:
type: integer
format: int32
nullable: true
signerName:
type: string
ModelschemasRequestQueueConfig:
type: object
properties:
enabled:
type: boolean
nullable: true
max_consume_concurrency:
type: integer
format: int32
nullable: true
V1SecretKeySelector:
type: object
properties:
LocalObjectReference:
$ref: '#/components/schemas/V1LocalObjectReference'
key:
type: string
optional:
type: boolean
nullable: true
ModelschemasBentoRequestOverrides:
type: object
properties:
dockerConfigJsonSecretName:
type: string
downloaderContainerEnvFrom:
type: array
items:
$ref: '#/components/schemas/V1EnvFromSource'
imageBuildTimeout:
type: integer
format: int64
nullable: true
imageBuilderContainerResources:
$ref: '#/components/schemas/V1ResourceRequirements'
imageBuilderExtraContainerEnv:
type: array
items:
$ref: '#/components/schemas/V1EnvVar'
imageBuilderExtraPodMetadata:
$ref: '#/components/schemas/V1alpha1ExtraPodMetadata'
imageBuilderExtraPodSpec:
$ref: '#/components/schemas/V1alpha1ExtraPodSpec'
V1LocalObjectReference:
type: object
properties:
name:
type: string
V1ManagedFieldsEntry:
type: object
properties:
apiVersion:
type: string
fieldsType:
type: string
fieldsV1:
$ref: '#/components/schemas/V1FieldsV1'
manager:
type: string
operation:
type: string
subresource:
type: string
time:
$ref: '#/components/schemas/V1Time'
V1ConfigMapKeySelector:
type: object
properties:
LocalObjectReference:
$ref: '#/components/schemas/V1LocalObjectReference'
key:
type: string
optional:
type: boolean
nullable: true
ModelschemasDeploymentTargetConfig:
type: object
properties:
access_control:
type: string
nullable: true
bento_function_overrides:
$ref: '#/components/schemas/ModelschemasApiServerBentoFunctionOverrides'
bento_request_overrides:
$ref: '#/components/schemas/ModelschemasBentoRequestOverrides'
config_overrides:
type: object
additionalProperties: {}
deployment_cold_start_wait_timeout:
type: integer
format: int64
nullable: true
deployment_strategy:
type: string
nullable: true
enable_debug_mode:
type: boolean
nullable: true
enable_debug_pod_receive_production_traffic:
type: boolean
nullable: true
enable_image_builder_colocation:
type: boolean
nullable: true
enable_ingress:
type: boolean
nullable: true
enable_stealing_traffic_debug_mode:
type: boolean
nullable: true
envs:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
global_envs:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
hpa_conf:
$ref: '#/components/schemas/ModelschemasDeploymentTargetHPAConf'
kubeResourceUid:
type: string
kubeResourceVersion:
type: string
resource_instance:
type: string
nullable: true
resources:
$ref: '#/components/schemas/ModelschemasDeploymentTargetResources'
runners:
type: object
additionalProperties:
$ref: '#/components/schemas/ModelschemasDeploymentTargetRunnerConfig'
secrets:
type: array
items:
type: string
target_name:
type: string
traffic_control:
$ref: '#/components/schemas/ModelschemasTrafficControlConfig'
ModelschemasBentoRunnerSchema:
type: object
properties:
models:
type: array
items:
type: string
name:
type: string
resource_config:
$ref: '#/components/schemas/ModelschemasBentoRunnerResourceSchema'
runnable_type:
type: string
V1ProjectedVolumeSource:
type: object
properties:
defaultMode:
type: integer
format: int32
nullable: true
sources:
type: array
items:
$ref: '#/components/schemas/V1VolumeProjection'
V1DownwardAPIVolumeSource:
type: object
properties:
defaultMode:
type: integer
format: int32
nullable: true
items:
type: array
items:
$ref: '#/components/schemas/V1DownwardAPIVolumeFile'
V1TypedObjectReference:
type: object
properties:
apiGroup:
type: string
nullable: true
kind:
type: string
name:
type: string
namespace:
type: string
nullable: true
ModelschemasLabelItemSchema:
type: object
properties:
key:
type: string
stage:
type: string
value:
type: string
V1CSIVolumeSource:
type: object
properties:
driver:
type: string
fsType:
type: string
nullable: true
nodePublishSecretRef:
$ref: '#/components/schemas/V1LocalObjectReference'
readOnly:
type: boolean
nullable: true
volumeAttributes:
type: object
additionalProperties:
type: string
ResourceQuantity:
type: object
V1HostPathVolumeSource:
type: object
properties:
path:
type: string
type:
type: string
nullable: true
ModelschemasTrafficControlConfig:
type: object
properties:
concurrency:
type: integer
format: int32
nullable: true
request_queue:
$ref: '#/components/schemas/ModelschemasRequestQueueConfig'
timeout:
type: integer
format: int64
nullable: true
V1TopologySpreadConstraint:
type: object
properties:
labelSelector:
$ref: '#/components/schemas/V1LabelSelector'
matchLabelKeys:
type: array
items:
type: string
maxSkew:
type: integer
format: int32
minDomains:
type: integer
format: int32
nullable: true
nodeAffinityPolicy:
type: string
nullable: true
nodeTaintsPolicy:
type: string
nullable: true
topologyKey:
type: string
whenUnsatisfiable:
type: string
ModelschemasBentoManifestModelSchema:
type: object
properties:
alias:
type: string
creation_time:
type: string
endpoint:
type: string
module:
type: string
registry:
type: string
tag:
type: string
V1SecretVolumeSource:
type: object
properties:
defaultMode:
type: integer
format: int32
nullable: true
items:
type: array
items:
$ref: '#/components/schemas/V1KeyToPath'
optional:
type: boolean
nullable: true
secretName:
type: string
V1AWSElasticBlockStoreVolumeSource:
type: object
properties:
fsType:
type: string
partition:
type: integer
format: int32
readOnly:
type: boolean
volumeID:
type: string
V1ConfigMapProjection:
type: object
properties:
LocalObjectReference:
$ref: '#/components/schemas/V1LocalObjectReference'
items:
type: array
items:
$ref: '#/components/schemas/V1KeyToPath'
optional:
type: boolean
nullable: true
ModelschemasBentoManifestSchema:
type: object
properties:
apis:
type: object
additionalProperties:
$ref: '#/components/schemas/ModelschemasBentoApiSchema'
bentoml_version:
type: string
dev:
type: boolean
entry_service:
type: string
envs:
type: array
items:
$ref: '#/components/schemas/ModelschemasEnvItemSchema'
image:
$ref: '#/components/schemas/ModelschemasBentoImageInfoSchema'
models:
type: array
items:
type: string
name:
type: string
runners:
type: array
items:
$ref: '#/components/schemas/ModelschemasBentoRunnerSchema'
schema:
type: object
additionalProperties: {}
service:
type: string
services:
type: array
items:
$ref: '#/components/schemas/ModelschemasBentoManifestServiceSchema'
size_bytes:
type: integer
format: int32
spec:
type: integer
format: int32
V1alpha1MonitorExporterMountSpec:
type: object
properties:
VolumeSource:
$ref: '#/components/schemas/V1VolumeSource'
path:
type: string
readOnly:
type: boolean
V1VolumeResourceRequirements:
type: object
properties:
limits:
type: object
additionalProperties:
$ref: '#/components/schemas/ResourceQuantity'
requests:
type: object
additionalProperties:
$ref: '#/components/schemas/ResourceQuantity'
V1ResourceClaim:
type: object
properties:
name:
type: string
request:
type: string
V1EphemeralVolumeSource:
type: object
properties:
volumeClaimTemplate:
$ref: '#/components/schemas/V1PersistentVolumeClaimTemplate'
ModelschemasBentoApiSchema:
type: object
properties:
doc:
type: string
input:
type: string
output:
type: string
route:
type: string
V1AzureFileVolumeSource:
type: object
properties:
readOnly:
type: boolean
secretName:
type: string
shareName:
type: string
V1FieldsV1:
type: object
V1AzureDiskVolumeSource:
type: object
properties:
cachingMode:
type: string
nullable: true
diskName:
type: string
diskURI:
type: string
fsType:
type: string
nullable: true
kind:
type: string
nullable: true
readOnly:
type: boolean
nullable: true
V1PodAffinityTerm:
type: object
properties:
labelSelector:
$ref: '#/components/schemas/V1LabelSelector'
matchLabelKeys:
type: array
items:
type: string
mismatchLabelKeys:
type: array
items:
type: string
namespaceSelector:
$ref: '#/components/schemas/V1LabelSelector'
namespaces:
type: array
items:
type: string
topologyKey:
type: string
Schemasv1AdminDeploymentListSchema:
type: object
properties:
count:
type: integer
format: int32
items:
type: array
items:
type: object
properties:
cluster:
type: object
properties:
created_at:
type: string
format: date-time
creator:
type: object
properties:
application_status:
type: string
avatar_url:
type: string
created_at:
type: string
format: date-time
deleted_at:
type: string
format: date-time
nullable: true
email:
type: string
first_name:
type: string
from_sso:
type: boolean
is_super_admin:
type: boolean
labels:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
last_name:
type: string
name:
type: string
perm:
type: string
register_stage:
type: string
resource_type:
type: string
enum:
- user
- organization
- cluster
- host_cluster
- bento_repository
- bento
- deployment
- deployment_revision
- model_repository
- model
- api_token
uid:
type: string
updated_at:
type: string
format: date-time
default_deployment_kube_namespace:
type: string
deleted_at:
type: string
format: date-time
nullable: true
description:
type: string
grafana_root_path:
type: string
host_cluster_display_name:
type: string
host_cluster_name:
type: string
is_first:
type: boolean
labels:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
multi_tenancy:
type: boolean
name:
type: string
organization_name:
type: string
provider:
type: string
resource_type:
type: string
enum:
- user
- organization
- cluster
- host_cluster
- bento_repository
- bento
- deployment
- deployment_revision
- model_repository
- model
- api_token
uid:
type: string
updated_at:
type: string
format: date-time
created_at:
type: string
format: date-time
creator:
type: object
properties:
application_status:
type: string
avatar_url:
type: string
created_at:
type: string
format: date-time
deleted_at:
type: string
format: date-time
nullable: true
email:
type: string
first_name:
type: string
from_sso:
type: boolean
is_super_admin:
type: boolean
labels:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
last_name:
type: string
name:
type: string
perm:
type: string
register_stage:
type: string
resource_type:
type: string
enum:
- user
- organization
- cluster
- host_cluster
- bento_repository
- bento
- deployment
- deployment_revision
- model_repository
- model
- api_token
uid:
type: string
updated_at:
type: string
format: date-time
deleted_at:
type: string
format: date-time
nullable: true
description:
type: string
distributed:
type: boolean
host_cluster:
type: object
properties:
config:
type: string
nullable: true
created_at:
type: string
format: date-time
default:
type: boolean
deleted_at:
type: string
format: date-time
nullable: true
description:
type: string
display_name:
type: string
grafana_root_path:
type: string
labels:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
name:
type: string
resource_type:
type: string
enum:
- user
- organization
- cluster
- host_cluster
- bento_repository
- bento
- deployment
- deployment_revision
- model_repository
- model
- api_token
uid:
type: string
updated_at:
type: string
format: date-time
kube_namespace:
type: string
labels:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
latest_revision:
type: object
properties:
created_at:
type: string
format: date-time
creator:
type: object
properties:
application_status:
type: string
avatar_url:
type: string
created_at:
type: string
format: date-time
deleted_at:
type: string
format: date-time
nullable: true
email:
type: string
first_name:
type: string
from_sso:
type: boolean
is_super_admin:
type: boolean
labels:
type: array
items:
$ref: '#/components/schemas/ModelschemasLabelItemSchema'
last_name:
type: string
name:
type: string
perm:
type: string
register_stage:
type: string
resource_type:
type: string
enum:
- user
- organization
- cluster
- host_cluster
- bento_repository
- bento
- deployment
- deployment_revision
- model_repository
- model
- api_token
uid:
type: string
updated_at:
type: string
format: date-time
deleted_at:
type: string
format: date-time
nullable: true
deployment:
type: object
properties:
cluster:
type: object
properties:
created_at:
type: string
format: date-time
creator:
type: object
properties:
application_status:
type: string
avatar_url:
type: string
# --- truncated at 32 KB (106 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bentoml/refs/heads/main/openapi/bentoml-admin-api-v1-api-openapi.yml