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 `:trace:`. ' 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