kong-admin-api.yml
Rama master · réplica de lectura del repositorio original.
openapi: 3.1.0
info:
version: 3.4.0
contact:
name: Kong
url: https://github.com/Kong/kong
title: Kong Admin API
license:
name: Apache 2.0
url: https://github.com/Kong/kong/blob/master/LICENSE
summary: Kong RESTful Admin API for administration purposes.
description: " {{site.base_gateway}} comes with an **internal** RESTful Admin
API for administration purposes.\n Requests to the Admin API can be sent
to any node in the cluster, and Kong will\n keep the configuration consistent
across all nodes.\n\n - `8001` is the default port on which the Admin API
listens.\n - `8444` is the default port for HTTPS traffic to the Admin
API.\n\n This API is designed for internal use and provides full control
over Kong, so\n care should be taken when setting up Kong environments
to avoid undue public\n exposure of this API. See [this document][secure-admin-api]
for a discussion\n of methods to secure the Admin API.\n "
paths:
/certificates/{certificates}/snis: []
/schemas/{db_entity_name}/validate:
post:
description: This method is not available when using DB-less mode.
summary: Validate a configuration against a schema
/targets/{targets}: []
/targets/{targets}/upstream: []
/certificates/{certificates}:
get: []
put:
description: This method is not available when using DB-less mode.
patch:
description: This method is not available when using DB-less mode.
/debug/node/log-level:
get:
summary: Retrieve node log level of a node
/upstreams/{upstreams}/health:
get:
summary: Show Upstream health for node
/consumers/{consumers}/plugins:
post:
description: This method is not available when using DB-less mode.
/services/{services}/plugins:
post:
description: This method is not available when using DB-less mode.
/schemas/plugins/{name}:
get:
summary: Retrieve Plugin Schema
/upstreams/{upstreams}/targets/all:
get:
summary: List all Targets
/schemas/{name}:
get:
summary: Retrieve Entity Schema
/plugins/enabled:
get:
summary: Retrieve Enabled Plugins
/tags/{tags}:
get:
summary: ' List entity IDs by tag '
/snis/{snis}/certificate: []
/endpoints:
get:
summary: List available endpoints
/plugins/{plugins}:
patch:
description: This method is not available when using DB-less mode.
/routes/{routes}/plugins:
post:
description: This method is not available when using DB-less mode.
/cache:
delete:
description: This method is not available when using DB-less mode.
/services/:services/plugins/:plugins:
patch: []
/consumers:
get: []
/consumers/{consumers}/plugins/{plugins}:
patch:
description: This method is not available when using DB-less mode.
/upstreams/{upstreams}/targets/{targets}:
get: []
put:
description: This method is not available when using DB-less mode.
delete:
description: This method is not available when using DB-less mode.
summary: Delete Target
patch:
description: This method is not available when using DB-less mode.
summary: Update Target
/upstreams/{upstreams}/targets/{targets}/healthy:
put:
description: This method is not available when using DB-less mode.
summary: Set target as healthy
/debug/node/log-level/{log_level}:
put:
description: This method is not available when using DB-less mode.
summary: Set log level of a single node
/upstreams/{upstreams}/targets/{targets}/{address}/unhealthy:
put:
description: This method is not available when using DB-less mode.
summary: Set target address as unhealthy
/upstreams/{upstreams}/targets/{targets}/unhealthy:
put:
description: This method is not available when using DB-less mode.
summary: Set target as unhealthy
/certificates/{certificates}/snis/{snis}: []
/upstreams/{upstreams}/targets:
get: []
post:
description: This method is not available when using DB-less mode.
/upstreams/{upstreams}/targets/{targets}/{address}/healthy:
put:
description: This method is not available when using DB-less mode.
summary: Set target address as healthy
/cache/{key}:
delete:
description: This method is not available when using DB-less mode.
get: []
/:
get:
summary: Retrieve node information
/debug/cluster/log-level/{log_level}:
put:
description: This method is not available when using DB-less mode.
summary: Set node log level of all nodes
/schemas/plugins/validate:
post:
description: This method is not available when using DB-less mode.
summary: Validate a plugin configuration against the schema
/clustering/status: []
/timers:
get:
summary: Retrieve runtime debugging info of Kong's timers
/targets: []
/status:
get:
summary: Retrieve node status
/plugins:
post:
description: This method is not available when using DB-less mode.
/clustering/data-planes: []
/config:
get:
description: This method is only available when using DB-less mode.
post:
description: This method is only available when using DB-less mode.
/routes/{routes}/plugins/{plugins}:
patch:
description: This method is not available when using DB-less mode.
/filter-chains:
post:
description: This method is not available when using DB-less mode.
/filter-chains/{filter_chains}:
patch:
description: This method is not available when using DB-less mode.
delete:
description: This method is not available when using DB-less mode.
/services/{services}/filter-chains:
post:
description: This method is not available when using DB-less mode.
/services/{services}/filter-chains/{filter_chains}:
patch:
description: This method is not available when using DB-less mode.
delete:
description: This method is not available when using DB-less mode.
/routes/{routes}/filter-chains:
post:
description: This method is not available when using DB-less mode.
/routes/{routes}/filter-chains/{filter_chains}:
patch:
description: This method is not available when using DB-less mode.
delete:
description: This method is not available when using DB-less mode.
components:
schemas:
key_sets:
type: object
properties:
id:
format: uuid
type: string
tags:
type: array
name:
type: string
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
required: []
clustering_data_planes:
type: object
properties:
version:
type: string
last_seen:
format: int32
type: integer
config_hash:
type: string
sync_status:
default: unknown
type: string
id:
type: string
updated_at:
format: int32
type: integer
hostname:
type: string
ip:
type: string
required:
- id
- ip
- hostname
- sync_status
parameters:
type: object
properties:
value:
type: string
created_at:
format: int32
type: integer
key:
type: string
required:
- key
- value
plugins:
type: object
properties:
config:
type: array
consumer:
nullable: true
$ref: '#/components/schemas/consumers'
default: ~
enabled:
default: true
type: boolean
protocols:
enum:
- http
- https
- tcp
- tls
- udp
- grpc
- grpcs
type: array
default:
- grpc
- grpcs
- http
- https
instance_name:
type: string
id:
format: uuid
type: string
tags:
type: array
updated_at:
format: int32
type: integer
name:
type: string
route:
nullable: true
$ref: '#/components/schemas/routes'
default: ~
created_at:
format: int32
type: integer
service:
nullable: true
$ref: '#/components/schemas/services'
default: ~
required:
- name
- protocols
- enabled
tags:
type: object
properties:
entity_name:
type: string
entity_id:
type: string
tag:
type: string
required:
- tag
- entity_name
- entity_id
services:
type: object
properties:
retries:
default: 5
type: integer
connect_timeout:
default: 60000
type: integer
tags:
type: array
write_timeout:
default: 60000
type: integer
read_timeout:
default: 60000
type: integer
created_at:
format: int32
type: integer
client_certificate:
$ref: '#/components/schemas/certificates'
protocol:
default: http
type: string
tls_verify_depth:
nullable: true
type: integer
default: ~
host:
type: string
port:
default: 80
type: integer
enabled:
default: true
type: boolean
ca_certificates:
type: array
updated_at:
format: int32
type: integer
id:
format: uuid
type: string
path:
type: string
name:
type: string
tls_verify:
type: boolean
required:
- protocol
- host
- port
- enabled
routes:
type: object
properties:
strip_path:
default: true
type: boolean
https_redirect_status_code:
default: 426
type: integer
path_handling:
default: v0
type: string
hosts:
type: array
methods:
type: array
paths: []
protocols:
default:
- http
- https
type: array
sources:
type: array
id:
format: uuid
type: string
tags:
type: array
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
headers:
type: array
regex_priority:
default: 0
type: integer
preserve_host:
default: false
type: boolean
destinations:
type: array
request_buffering:
default: true
type: boolean
snis:
type: array
response_buffering:
default: true
type: boolean
name:
type: string
service:
$ref: '#/components/schemas/services'
required:
- protocols
- https_redirect_status_code
- strip_path
- preserve_host
- request_buffering
- response_buffering
consumers:
type: object
properties:
custom_id:
type: string
id:
format: uuid
type: string
tags:
type: array
username:
type: string
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
required: []
workspaces:
type: object
properties:
id:
format: uuid
type: string
config:
type: array
meta:
type: array
name:
type: string
comment:
type: string
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
required:
- name
certificates:
type: object
properties:
key_alt:
type: string
id:
format: uuid
type: string
tags:
type: array
key:
type: string
cert_alt:
type: string
updated_at:
format: int32
type: integer
created_at:
format: int32
type: integer
cert:
type: string
required:
- cert
- key
ca_certificates:
type: object
properties:
id:
format: uuid
type: string
tags:
type: array
cert_digest:
type: string
updated_at:
format: int32
type: integer
created_at:
format: int32
type: integer
cert:
type: string
required:
- cert
snis:
type: object
properties:
id:
format: uuid
type: string
tags:
type: array
certificate:
$ref: '#/components/schemas/certificates'
name:
type: string
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
required:
- name
- certificate
upstreams:
type: object
properties:
hash_on:
default: none
type: string
hash_fallback:
default: none
type: string
hash_on_header:
type: string
hash_fallback_header:
type: string
id:
format: uuid
type: string
tags:
type: array
hash_on_cookie_path:
default: /
type: string
hash_on_query_arg:
type: string
created_at:
format: int32
type: integer
hash_fallback_query_arg:
type: string
hash_on_uri_capture:
type: string
hash_fallback_uri_capture:
type: string
host_header:
type: string
use_srv_name:
default: false
type: boolean
client_certificate:
$ref: '#/components/schemas/certificates'
healthchecks:
default:
active:
healthy:
interval: 0
http_statuses:
- 200
- 302
successes: 0
concurrency: 10
unhealthy:
interval: 0
http_statuses:
- 429
- 404
- 500
- 501
- 502
- 503
- 504
- 505
tcp_failures: 0
timeouts: 0
http_failures: 0
timeout: 1
http_path: /
type: http
https_verify_certificate: true
passive:
healthy:
http_statuses:
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 226
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
successes: 0
type: http
unhealthy:
tcp_failures: 0
timeouts: 0
http_statuses:
- 429
- 500
- 503
http_failures: 0
type: array
hash_on_cookie:
type: string
updated_at:
format: int32
type: integer
slots:
default: 10000
type: integer
name:
type: string
algorithm:
default: round-robin
type: string
required:
- name
targets:
type: object
properties:
weight:
default: 100
type: integer
id:
format: uuid
type: string
tags:
type: array
upstream:
$ref: '#/components/schemas/upstreams'
target:
type: string
created_at:
format: float
type: number
updated_at:
format: float
type: number
required:
- upstream
- target
vaults:
type: object
properties:
description:
type: string
id:
format: uuid
type: string
prefix:
type: string
tags:
type: array
config:
type: array
created_at:
format: int32
type: integer
name:
type: string
updated_at:
format: int32
type: integer
required:
- prefix
- name
keys:
type: object
properties:
kid:
type: string
jwk:
type: string
id:
format: uuid
type: string
tags:
type: array
pem: []
set:
$ref: '#/components/schemas/key_sets'
name:
type: string
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
required:
- kid
filter_chains:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
enabled:
type: boolean
default: true
filters:
type: array
items:
$ref: '#/components/schemas/filters'
service:
nullable: true
$ref: '#/components/schemas/services'
default: ~
route:
nullable: true
$ref: '#/components/schemas/routes'
default: ~
tags:
type: array
created_at:
format: int32
type: integer
updated_at:
format: int32
type: integer
required: []
filters:
properties:
name:
type: string
config:
type: string
enabled:
type: boolean
default: true
required:
- name
servers:
- description: 8001 is the default port on which the Admin API listens.
url: http://localhost:8001
- description: 8444 is the default port for HTTPS traffic to the Admin API.
url: https://localhost:8444