Seldon SecretsService API

The SecretsService API from Seldon — 6 operation(s) for secretsservice.

OpenAPI Specification

seldon-secretsservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: 'API to interact and manage the lifecycle of your machine learning models

    deployed through Seldon Deploy.'
  title: Seldon Deploy AlertingService SecretsService API
  version: v1alpha1
servers:
- url: http://X.X.X.X/seldon-deploy/api/v1alpha1
- url: https://X.X.X.X/seldon-deploy/api/v1alpha1
security:
- OAuth2:
  - '[]'
tags:
- name: SecretsService
paths:
  /secrets/{namespace}/bucket/gcs/{remote}:
    post:
      summary: Creates a GCS bucket secret according to specified parameters.
      operationId: SecretsService_CreateGCSBucketSecret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1CreateGCSBucketSecretResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: namespace
        description: The namespace to create secret in.
        in: path
        required: true
        schema:
          type: string
      - name: remote
        description: The remote name must contain only lowercase letters, digits or dashes, must start and end with a lowercase letter or digit and must be no more than 30 characters in length. The created secret will be named {remote}-bucket-envvars or {remote}-bucket-params, for Core 1 or Core 2, respectively.
        in: path
        required: true
        schema:
          type: string
      - name: secretVersion
        description: The version of the secret to use (CORE_V1 or CORE_V2). Default value is CORE_V1
        in: query
        required: false
        schema:
          type: string
          enum:
          - CORE_1
          - CORE_2
          default: CORE_1
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: The GCS account credentials to populate the secret. See documentation for how to generate this.
        required: true
      tags:
      - SecretsService
  /secrets/{namespace}/bucket/rclone/{remote}:
    post:
      summary: Creates a generic rclone bucket secret according to specified parameters.
      operationId: SecretsService_CreateRcloneBucketSecret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1CreateRcloneBucketSecretResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: namespace
        description: The namespace to create secret in.
        in: path
        required: true
        schema:
          type: string
      - name: remote
        description: The remote name must contain only lowercase letters, digits or dashes, must start and end with a lowercase letter or digit and must be no more than 30 characters in length. The created secret will be named {remote}-bucket-envvars or {remote}-bucket-params, for Core 1 or Core 2, respectively.
        in: path
        required: true
        schema:
          type: string
      - name: format
        description: The format for the secret. Must be one of (env_var, config_param). env_var formats the secret as environment variables, each with a key and a value. env_var is suitable for Seldon Core v1 and Argo Workflows. config_param formats the secret to be compatible with Rclone's HTTP API. config_param is suitable for Seldon Core v2.
        in: query
        required: false
        schema:
          type: string
          enum:
          - env_var
          - config_param
          default: env_var
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1RcloneConfig'
        required: true
      tags:
      - SecretsService
  /secrets/{namespace}/bucket/s3/{remote}:
    post:
      summary: Creates a S3 bucket secret according to specified parameters.
      operationId: SecretsService_CreateS3BucketSecret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1CreateS3BucketSecretResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: namespace
        description: The namespace to create secret in.
        in: path
        required: true
        schema:
          type: string
      - name: remote
        description: The remote name must contain only lowercase letters, digits or dashes, must start and end with a lowercase letter or digit and must be no more than 30 characters in length. The created secret will be named {remote}-bucket-envvars or {remote}-bucket-params, for Core 1 or Core 2, respectively.
        in: path
        required: true
        schema:
          type: string
      - name: secretVersion
        description: The version of the secret to use (CORE_1 or CORE_2). Default value is CORE_1
        in: query
        required: false
        schema:
          type: string
          enum:
          - CORE_1
          - CORE_2
          default: CORE_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1S3Credentials'
        required: true
      tags:
      - SecretsService
  /secrets/{namespace}/registry/{name}:
    post:
      summary: Creates a registry secret according to specified parameters.
      operationId: SecretsService_CreateRegistrySecret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1CreateRegistrySecretResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: namespace
        description: The namespace to create secret in.
        in: path
        required: true
        schema:
          type: string
      - name: name
        description: The secret name must contain only lowercase letters, digits or dashes, must start and end with a lowercase letter or digit and must be no more than 30 characters in length.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: The raw json docker credentials config.
        required: true
      tags:
      - SecretsService
  /secrets/{namespace}/{secretType}:
    get:
      summary: Lists the names and metadata of secrets used by Seldon Deploy.
      operationId: SecretsService_ListSecrets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ListSecretsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: namespace
        description: The namespace to list secrets in.
        in: path
        required: true
        schema:
          type: string
      - name: secretType
        description: The secret type, can be one of (`bucket`, `registry`) or `all` to list all secrets used by Seldon Deploy.
        in: path
        required: true
        schema:
          type: string
          enum:
          - all
          - bucket
          - registry
      - name: bucketSecretFormat
        description: Optional filter for the format of bucket secrets. Only applicable when `secret_type` is `bucket.`
        in: query
        required: false
        schema:
          type: string
          enum:
          - env_var
          - config_param
          default: env_var
      - name: pageSize
        description: Optional The maximum number of Secrets to return in the response.
        in: query
        required: false
        schema:
          type: string
          format: int64
      - name: pageToken
        description: Optional pagination token returned from a previous call to List that indicates where this listing should continue from.
        in: query
        required: false
        schema:
          type: string
      - name: search
        description: Optional search string for secrets.
        in: query
        required: false
        schema:
          type: string
      tags:
      - SecretsService
  /secrets/{namespace}/{secretType}/{name}:
    delete:
      summary: Deletes the specified secret.
      operationId: SecretsService_DeleteSecret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1DeleteSecretResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema: {}
        '404':
          description: Not Found
          content:
            application/json:
              schema: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: namespace
        description: The namespace to delete secret from.
        in: path
        required: true
        schema:
          type: string
      - name: secretType
        description: The secret type of the secret to be deleted, can be one of (`bucket`, `registry`).
        in: path
        required: true
        schema:
          type: string
          enum:
          - all
          - bucket
          - registry
      - name: name
        description: The name of the secret to delete.
        in: path
        required: true
        schema:
          type: string
      tags:
      - SecretsService
components:
  schemas:
    v1CreateS3BucketSecretResponse:
      type: object
    v1ListSecretsResponse:
      type: object
      properties:
        secrets:
          type: array
          items:
            $ref: '#/components/schemas/v1Secret'
        nextPageToken:
          type: string
          description: 'A pagination token returned from a previous call to `List`

            that indicates from where listing should continue.'
    v1RcloneConfig:
      type: object
      properties:
        variables:
          type: object
          additionalProperties:
            type: string
          description: The Rclone key value pairs for your secret; see the Rclone documentation for more detail.
        remoteType:
          type: string
          example: s3
          description: The Rclone type of the remote; see the Rclone documentation for available types.
    v1CreateRcloneBucketSecretResponse:
      type: object
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
    v1CreateRegistrySecretResponse:
      type: object
    v1S3Credentials:
      type: object
      properties:
        s3AccessKeyId:
          type: string
          description: The S3 access key ID.
        s3SecretAccessKey:
          type: string
          description: The S3 secret access key.
    v1Secret:
      type: object
      properties:
        secretName:
          type: string
        secretType:
          $ref: '#/components/schemas/v1SecretType'
        bucketSecretFormat:
          $ref: '#/components/schemas/v1BucketSecretFormat'
        remoteName:
          type: string
          description: The remote name of the secret. Used by the user as a prefix to a model uri and by RClone as a config during download of artefacts. Only available for bucket secrets.
    v1DeleteSecretResponse:
      type: object
    v1SecretType:
      type: string
      enum:
      - all
      - bucket
      - registry
      default: all
      description: 'Note: intentionally lower case so that the URL format accepts lowercase.'
    v1BucketSecretFormat:
      type: string
      enum:
      - env_var
      - config_param
      default: env_var
      description: Default to env_var for backwards compatibility.
    v1CreateGCSBucketSecretResponse:
      type: object
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        password:
          tokenUrl: https://Y.Y.Y.Y
          scopes:
            email: ''
            groups: ''
            openid: ''
            profile: ''