Kuma GlobalInsight API

The GlobalInsight API from Kuma — 1 operation(s) for globalinsight.

OpenAPI Specification

kuma-globalinsight-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Kuma Dataplane GlobalInsight API
  description: Kuma API
  version: v1alpha1
  x-ref-schema-name: DataplaneOverview
security:
- BasicAuth: []
- BearerAuth: []
- {}
tags:
- name: GlobalInsight
paths:
  /global-insight:
    get:
      operationId: get-global-insight
      description: Returns a Global Insight object
      summary: Get Global Insight
      tags:
      - GlobalInsight
      responses:
        '200':
          $ref: '#/components/responses/GlobalInsightResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/Internal'
components:
  schemas:
    MeshesStats:
      type: object
      title: Meshes Stats
      description: Mesh statistics
      required:
      - total
      properties:
        total:
          type: integer
          description: Number of meshes
          example: 3
    ServicesStats:
      type: object
      title: ServicesStats
      description: Services statistics
      required:
      - total
      - internal
      - external
      - gatewayBuiltin
      - gatewayDelegated
      properties:
        internal:
          description: Internal services statistics
          allOf:
          - $ref: '#/components/schemas/FullStatus'
        external:
          type: object
          description: External services statistics
          required:
          - total
          properties:
            total:
              type: integer
              example: 5
        gatewayBuiltin:
          description: Builtin Gateway services statistics
          allOf:
          - $ref: '#/components/schemas/FullStatus'
        gatewayDelegated:
          description: Delegated Gateway services statistics
          allOf:
          - $ref: '#/components/schemas/FullStatus'
    BaseStatus:
      type: object
      title: Status
      required:
      - online
      - total
      properties:
        online:
          type: integer
          example: 10
        total:
          type: integer
          example: 30
    ZonesStats:
      type: object
      title: Zones Stats
      description: Zone statistics
      required:
      - controlPlanes
      - zoneEgresses
      - zoneIngresses
      properties:
        controlPlanes:
          description: Control Planes statistics
          allOf:
          - $ref: '#/components/schemas/BaseStatus'
        zoneEgresses:
          description: Zone Egresses statistics
          allOf:
          - $ref: '#/components/schemas/BaseStatus'
        zoneIngresses:
          description: Zone Ingresses statistics
          allOf:
          - $ref: '#/components/schemas/BaseStatus'
    FullStatus:
      allOf:
      - $ref: '#/components/schemas/BaseStatus'
      - type: object
        required:
        - offline
        - partiallyDegraded
        properties:
          offline:
            type: integer
            example: 15
          partiallyDegraded:
            type: integer
            example: 5
    DataplanesStats:
      type: object
      title: Dataplanes Stats
      description: Dataplanes statistics
      required:
      - standard
      - gatewayBuiltin
      - gatewayDelegated
      properties:
        standard:
          description: Standard dataplane proxy statistics
          allOf:
          - $ref: '#/components/schemas/FullStatus'
        gatewayBuiltin:
          description: Builtin Gateway dataplane proxy statistics
          allOf:
          - $ref: '#/components/schemas/FullStatus'
        gatewayDelegated:
          description: Delegated Gateway dataplane proxy statistics
          allOf:
          - $ref: '#/components/schemas/FullStatus'
    PoliciesStats:
      type: object
      title: Policies Stats
      description: Policies statistics
      required:
      - total
      properties:
        total:
          type: integer
          description: Number of policies
          example: 30
    InvalidParameters:
      type: object
      title: Invalid Parameters
      required:
      - field
      - reason
      - source
      properties:
        field:
          type: string
          description: The name of the field that caused the error.
        reason:
          type: string
          description: 'A short, human-readable description of the problem.

            _Should_ be provided as "Sentence case" for direct use in a UI.

            '
        rule:
          type: string
          description: 'May be provided as a hint to the user to help understand the type of failure.

            Additional guidance may be provided in additional fields, i.e. `choices`.

            '
        choices:
          type: array
          description: 'Optional field to provide a list of valid choices for the field that caused the error.

            '
          items:
            type: string
        source:
          type: string
          description: 'The location of the field that caused the error.

            '
          enum:
          - body
          - query
          - header
          - path
    Error:
      type: object
      title: Error
      description: 'Standard error. Follows the [AIP #193 - Errors](https://kong-aip.netlify.app/aip/193/) specification.

        '
      x-examples:
        Example 1:
          status: 404
          title: Not Found
          type: https://kongapi.info/konnect/not-found
          instance: portal:trace:2287285207635123011
          detail: The requested document was not found
      required:
      - status
      - title
      - instance
      - type
      - detail
      properties:
        status:
          type: integer
          description: The HTTP status code.
          example: 404
        title:
          type: string
          description: 'A short, human-readable summary of the problem.

            It **should not** change between occurrences of a problem, except for localization.

            Should be provided as "Sentence case" for potential direct use in a UI

            '
          example: Not Found
        type:
          type: string
          description: 'A unique identifier for this error. When dereferenced it must provide human-readable documentation for the problem.

            '
          example: Not Found
        instance:
          type: string
          example: portal:trace:2287285207635123011
          description: 'Used to return the correlation ID back to the user, in the format `<app>:trace:<correlation_id>`.

            '
        detail:
          type: string
          example: The requested team was not found
          description: 'A human readable explanation specific to this occurrence of the problem.

            This field may contain request/entity data to help the user understand what went wrong.

            Enclose variable values in square brackets.

            _Should_ be provided as "Sentence case" for direct use in a UI

            '
        invalid_parameters:
          type: array
          description: 'All 400 errors **MUST** return an `invalid_parameters` key in the response.

            Used to indicate which fields have invalid values when validated.

            '
          items:
            $ref: '#/components/schemas/InvalidParameters'
    ResourceStats:
      type: object
      title: Resource Stats
      description: Resource statistics
      required:
      - total
      properties:
        total:
          type: integer
          description: Number of resources
          example: 30
    GlobalInsightBase:
      type: object
      title: GlobalInsightBase
      description: Global Insight contains statistics for all main resources
      required:
      - createdAt
      - services
      - zones
      - dataplanes
      - policies
      - meshes
      - resources
      properties:
        createdAt:
          type: string
          description: Time of Global Insight creation
          format: date-time
          example: '2023-01-11T02:30:42.227Z'
        services:
          description: Mesh services statistics
          allOf:
          - $ref: '#/components/schemas/ServicesStats'
        zones:
          description: Zones statistics
          allOf:
          - $ref: '#/components/schemas/ZonesStats'
        dataplanes:
          description: Dataplane proxy statistics
          allOf:
          - $ref: '#/components/schemas/DataplanesStats'
        policies:
          description: Policies statistics
          allOf:
          - $ref: '#/components/schemas/PoliciesStats'
        meshes:
          description: Mesh statistics
          allOf:
          - $ref: '#/components/schemas/MeshesStats'
        resources:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ResourceStats'
          description: A map of resource names to their corresponding statistics
  responses:
    Internal:
      description: Internal Server Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
    GlobalInsightResponse:
      description: A response containing global insight.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GlobalInsightBase'
          examples:
            Single control plane response:
              $ref: '#/components/examples/GlobalInsightExample'
    BadRequest:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
  examples:
    GlobalInsightExample:
      value:
        createdAt: '2023-01-11T02:30:42.227Z'
        services:
          total: 5
          internal:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
          external:
            total: 1
          gatewayDelegated:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
          gatewayBuiltin:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
          internalByStatus:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
        zones:
          controlPlanes:
            online: 1
            total: 1
          zoneEgresses:
            online: 1
            total: 1
          zoneIngresses:
            online: 1
            total: 1
        dataplanes:
          standard:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
          gatewayBuiltin:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
          gatewayDelegated:
            total: 4
            online: 2
            offline: 1
            partiallyDegraded: 1
        policies:
          total: 100
        meshes:
          total: 3
        resources:
          MeshTrafficPermission:
            total: 42
          MeshService:
            total: 84
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    BearerAuth:
      type: http
      scheme: bearer