Crossplane DeploymentRuntimeConfigs API

DeploymentRuntimeConfigs customize the runtime behavior of Provider and Function deployments, including replica counts, resource limits, service account annotations, and pod template overrides.

OpenAPI Specification

crossplane-deploymentruntimeconfigs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Crossplane Kubernetes CompositeResourceDefinitions DeploymentRuntimeConfigs API
  description: 'The Crossplane Kubernetes API extends the Kubernetes API server with custom resources for managing cloud infrastructure declaratively. Resources are organized into two main API groups: apiextensions.crossplane.io for composition primitives (Compositions, CompositeResourceDefinitions, EnvironmentConfigs) and pkg.crossplane.io for package management (Providers, Functions, Configurations and their revisions). All operations use standard Kubernetes REST conventions and are authenticated through the Kubernetes API server''s authentication mechanisms.'
  version: '2.2'
  contact:
    name: Crossplane Community
    url: https://slack.crossplane.io/
  termsOfService: https://www.crossplane.io/
servers:
- url: https://kubernetes.default.svc
  description: Kubernetes API Server (in-cluster)
security:
- bearerAuth: []
tags:
- name: DeploymentRuntimeConfigs
  description: DeploymentRuntimeConfigs customize the runtime behavior of Provider and Function deployments, including replica counts, resource limits, service account annotations, and pod template overrides.
paths:
  /apis/pkg.crossplane.io/v1beta1/deploymentruntimeconfigs:
    get:
      operationId: listDeploymentRuntimeConfigs
      summary: Crossplane List DeploymentRuntimeConfigs
      description: Returns a list of all DeploymentRuntimeConfig resources. These resources customize the Kubernetes Deployment and ServiceAccount used to run Provider and Function controller pods.
      tags:
      - DeploymentRuntimeConfigs
      parameters:
      - $ref: '#/components/parameters/labelSelector'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully listed DeploymentRuntimeConfigs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentRuntimeConfigList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createDeploymentRuntimeConfig
      summary: Crossplane Create a DeploymentRuntimeConfig
      description: Creates a DeploymentRuntimeConfig to customize how Crossplane deploys Provider or Function pods. Providers and Functions reference this resource via runtimeConfigRef in their spec.
      tags:
      - DeploymentRuntimeConfigs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentRuntimeConfig'
      responses:
        '201':
          description: DeploymentRuntimeConfig successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentRuntimeConfig'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /apis/pkg.crossplane.io/v1beta1/deploymentruntimeconfigs/{name}:
    get:
      operationId: getDeploymentRuntimeConfig
      summary: Crossplane Get a DeploymentRuntimeConfig
      description: Returns a specific DeploymentRuntimeConfig, including its deployment template and service account template overrides.
      tags:
      - DeploymentRuntimeConfigs
      parameters:
      - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: Successfully retrieved the DeploymentRuntimeConfig.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentRuntimeConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteDeploymentRuntimeConfig
      summary: Crossplane Delete a DeploymentRuntimeConfig
      description: Deletes a DeploymentRuntimeConfig. Providers or Functions referencing this config via runtimeConfigRef will continue using the last applied configuration until they are updated.
      tags:
      - DeploymentRuntimeConfigs
      parameters:
      - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: DeploymentRuntimeConfig deletion initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    labelSelector:
      name: labelSelector
      in: query
      required: false
      description: A selector to restrict the list of returned objects by their labels. Defaults to everything.
      schema:
        type: string
    continueToken:
      name: continue
      in: query
      required: false
      description: Token returned by a previous list call to retrieve the next page of results. This token encodes list position and expiration time.
      schema:
        type: string
    name:
      name: name
      in: path
      required: true
      description: Name of the Crossplane resource.
      schema:
        type: string
    limit:
      name: limit
      in: query
      required: false
      description: Maximum number of items to return in a single response. The server may return fewer items than requested. Use the continue token for pagination.
      schema:
        type: integer
        minimum: 1
  schemas:
    DeploymentRuntimeConfigList:
      type: object
      description: A list of DeploymentRuntimeConfig resources.
      required:
      - apiVersion
      - kind
      - items
      properties:
        apiVersion:
          type: string
          description: API version for the list resource.
        kind:
          type: string
          const: DeploymentRuntimeConfigList
          description: List kind identifier.
        metadata:
          type: object
          properties:
            resourceVersion:
              type: string
              description: Resource version of the list.
            continue:
              type: string
              description: Continuation token for pagination.
        items:
          type: array
          description: List of DeploymentRuntimeConfig resources.
          items:
            $ref: '#/components/schemas/DeploymentRuntimeConfig'
    DeploymentRuntimeConfig:
      type: object
      description: A DeploymentRuntimeConfig customizes the Kubernetes Deployment and ServiceAccount that Crossplane creates to run a Provider or Function. Use it to set resource limits, add annotations for workload identity, or configure custom tolerations and node selectors.
      required:
      - apiVersion
      - kind
      - metadata
      properties:
        apiVersion:
          type: string
          const: pkg.crossplane.io/v1beta1
          description: API version for the DeploymentRuntimeConfig resource.
        kind:
          type: string
          const: DeploymentRuntimeConfig
          description: Resource kind identifier.
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          type: object
          description: Runtime configuration specification.
          properties:
            deploymentTemplate:
              type: object
              description: Template overrides for the Provider or Function Deployment.
              properties:
                metadata:
                  type: object
                  description: Metadata overrides for the Deployment.
                spec:
                  type: object
                  description: Deployment spec overrides including replicas, selector, and pod template.
                  properties:
                    replicas:
                      type: integer
                      minimum: 0
                      description: Number of pod replicas for the provider or function.
                    template:
                      type: object
                      description: Pod template overrides including containers, volumes, and tolerations.
            serviceAccountTemplate:
              type: object
              description: Template overrides for the Provider or Function ServiceAccount.
              properties:
                metadata:
                  type: object
                  description: Metadata overrides, commonly used to add workload identity annotations.
                  properties:
                    annotations:
                      type: object
                      description: Annotations to apply to the ServiceAccount, such as IAM role ARN mappings.
                      additionalProperties:
                        type: string
    Status:
      type: object
      description: A Kubernetes API Status response used for errors and operation results.
      properties:
        apiVersion:
          type: string
          description: API version of the Status object.
        kind:
          type: string
          const: Status
          description: Always Status.
        status:
          type: string
          description: Status of the operation, Success or Failure.
        message:
          type: string
          description: Human-readable description of the status.
        reason:
          type: string
          description: Machine-readable reason for the status, such as NotFound or AlreadyExists.
        code:
          type: integer
          description: HTTP status code corresponding to this status.
    ObjectMeta:
      type: object
      description: Standard Kubernetes object metadata.
      required:
      - name
      properties:
        name:
          type: string
          description: Unique name of the resource within its scope.
        namespace:
          type: string
          description: Namespace of the resource. Crossplane core resources are cluster-scoped and do not use namespace.
        labels:
          type: object
          description: Key-value pairs for organizing and selecting resources.
          additionalProperties:
            type: string
        annotations:
          type: object
          description: Non-identifying metadata attached to the resource.
          additionalProperties:
            type: string
        resourceVersion:
          type: string
          description: Opaque string that identifies the version of the resource for optimistic concurrency.
        uid:
          type: string
          description: Unique identifier for the resource assigned by the API server.
        generation:
          type: integer
          description: Sequence number for changes to the spec. Incremented by the API server on spec changes.
        creationTimestamp:
          type: string
          format: date-time
          description: Timestamp when the resource was created.
        deletionTimestamp:
          type: string
          format: date-time
          description: Timestamp after which the resource will be deleted, set when deletion is requested.
        finalizers:
          type: array
          description: Finalizers that must be cleared before the object is deleted.
          items:
            type: string
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    BadRequest:
      description: The request was malformed or failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Status'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Kubernetes service account token or user bearer token for authenticating with the Kubernetes API server. RBAC policies control which Crossplane resources each identity can access.
externalDocs:
  description: Crossplane API Reference
  url: https://docs.crossplane.io/latest/api/