openapi server
openapi server
The openapi server binding creates composite of tcp, tls, and http bindings with server kind and adapts HTTP request-response streams to OpenAPI request-response streams.
openapi_server:
type: openapi
kind: server
options:
specs:
petstore:
servers:
- url: http://localhost:9090
catalog:
my_catalog:
subject: petstore
version: latest
exit: openapi_clientConfiguration (* required)
vault
string
Vault name.
options
object
The openapi specific options.
options:
specs:
petstore:
servers:
- url: http://localhost:9090
catalog:
my_catalog:
subject: petstore
version: latestoptions.specs
objectas map of namedobjectproperties
The specs specific options.
specs.catalog
objectas map of namedobjectproperties
The catalog specific options.
catalog.subject*
string
Subject name used when storing the catalog artifact.
catalog.version
string| Default:latest
Catalog artifact version to use.
specs.servers
arrayofobject
The servers to match from the schema that are used when defining endpoints.
servers[].url
string| Pattern:^([a-zA-Z0-9\\\\.-]+)(:(\\\\{[a-zA-Z_]+\\\\}|[0-9]+))?$
The server url to match in openapi spec
options.http
object
The http specific options.
http.authorization
objectas map of namedobjectproperties
Authorization by guard for the HTTP/1.1 and HTTP/2 protocols.
authorization:
my_jwt_guard:
credentials:
headers:
authorization: Bearer {credentials}authorization.credentials*
object
Defines how to extract credentials from the HTTP request.
credentials.cookies
objectas map of namedstringproperties
Named cookie value pattern with {credentials}.
credentials.headers
objectas map of namedstringproperties
Named header value pattern with {credentials}, e.g. "Bearer {credentials}".
credentials.query*
objectas map of namedstringproperties
Named query parameter value pattern with {credentials}.
options.tcp
object
TCP options to connect to an external client.
tcp.host
string
Hostname or IP address.
tcp.port
integer,string,array
Port number(s), including port number ranges.
options.tls
object
The tls specific options.
tls.version
string
Protocol version.
tls.keys
arrayofstring
A list of reference names for the Vault key.
tls.trust
arrayofstring
A list of reference names for the Vault certificate.
tls.signers
arrayofstring
A list of reference names for the Vault signer certificate.
tls.trustcacerts
boolean
Trust CA certificates. When the this property is not explicitly set it will be automatically set to true if tls.trust is null.
tls.sni
arrayofstring
A list of the Server Name Indications.
tls.alpn
arrayofstring
Application protocols.
tls.mutual
enum[required,requested,none]
Mutual authentication. When the this property is not explicitly set it will be automatically set to none if tls.trust is null, otherwise it will be set to required.
exit
string
Default exit binding when no conditional routes are viable.
exit: echo_servertelemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*
