grpc server
grpc server
The grpc server binding adapts http
request-response streams to grpc
request-response streams, with support for both application/grpc+proto
and application/grpc-web+proto
content types.
grpc_server:
type: grpc
kind: server
catalog:
host_filesystem:
- subject: echo
routes:
- when:
- method: example.EchoService/*
metadata:
custom-text: custom value
custom-binary:
base64: Y3VzdG9tIHZhbHVl
exit: echo_server
Configuration (* required)
catalog
object
as map of namedarray
To map defined catalog for schema retrieval based on catalog specific parameters.
catalog:
my_catalog:
- subject: http
catalog[].subject*
string
Unique identifier for schema categorization in the catalog.
catalog[].version
string
| Default:latest
Specific iteration or version of a registered schema in the defined catalog.
exit
string
Default exit binding when no conditional routes are viable.
exit: echo_server
routes*
array
ofobject
Conditional grpc
specific routes.
routes:
- guarded:
my_guard:
- echo:messages
when:
- method: example.EchoService/*
metadata:
custom-text: custom value
custom-binary:
base64: Y3VzdG9tIHZhbHVl
exit: echo_server
routes[].guarded
object
as map of namedarray
ofstring
Roles required by named guard.
routes:
- guarded:
my_guard:
- echo:messages
routes[].when
array
ofobject
List of conditions (any match) to match this route. Read more: When a route matches
routes:
when:
- method: example.EchoService/*
metadata:
custom-text: custom value
custom-binary:
base64: Y3VzdG9tIHZhbHVl
when[].method
string
gRPC service method name, such as example.EchoService/EchoUnary
, or service method pattern such as example.EchoService/*
.
when[].metadata
object
as map of namedstring
orobject
properties
Metadata header name value pairs (all match).
Each metadata header value can be string
or object
with base64
property.
metadata.base64
string
Base64 encoded value for binary metadata header.
routes[].exit
string
Routed exit binding when conditional route matches.
routes:
- when:
...
exit: echo_server
telemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*
- grpc.*