BentoML admin api v1 API

admin api v1

OpenAPI Specification

bentoml-admin-api-v1-api-openapi.yml Raw ↑
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