gRPC services¶
core.GrpcService¶
gRPC service configuration. This is used by ApiConfigSource and filter configurations.
Warning
This message type has draft status.
{
"envoy_grpc": "{...}",
"google_grpc": "{...}",
"timeout": "{...}",
"credentials": [],
"initial_metadata": []
}
- envoy_grpc
(core.GrpcService.EnvoyGrpc) Envoy’s in-built gRPC client. See the gRPC services overview documentation for discussion on gRPC client selection.
Precisely one of envoy_grpc, google_grpc must be set.
- google_grpc
(core.GrpcService.GoogleGrpc) Google C++ gRPC client See the gRPC services overview documentation for discussion on gRPC client selection.
Precisely one of envoy_grpc, google_grpc must be set.
- timeout
- (Duration) The timeout for the gRPC request. This is the timeout for a specific request.
- credentials
- (core.GrpcService.Credentials) A set of credentials that will be composed to form the channel credentials.
- initial_metadata
- (core.HeaderValue) Additional metadata to include in streams initiated to the GrpcService. This can be used for scenarios in which additional ad hoc authorization headers (e.g. x-foo-bar: baz-key) are to be injected.
core.GrpcService.EnvoyGrpc¶
[core.GrpcService.EnvoyGrpc proto]
Warning
This message type has draft status.
{
"cluster_name": "..."
}
- cluster_name
- (string, REQUIRED) The name of the upstream gRPC cluster. SSL credentials will be supplied in the Cluster tls_context.
core.GrpcService.GoogleGrpc¶
[core.GrpcService.GoogleGrpc proto]
Warning
This message type has draft status.
{
"target_uri": "...",
"ssl_credentials": "{...}",
"stat_prefix": "...",
"config": "{...}"
}
- target_uri
- (string, REQUIRED) The target URI when using the Google C++ gRPC client. SSL credentials will be supplied in credentials.
- ssl_credentials
- (core.GrpcService.GoogleGrpc.SslCredentials)
- stat_prefix
(string, REQUIRED) The human readable prefix to use when emitting statistics for the gRPC service.
Name Type Description streams_total Counter Total number of streams opened streams_closed_<gRPC status code> Counter Total streams closed with <gRPC status code>
- config
- (Struct) Additional configuration for site-specific customizations of the Google gRPC library.
core.GrpcService.GoogleGrpc.SslCredentials¶
[core.GrpcService.GoogleGrpc.SslCredentials proto]
See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
Warning
This message type has draft status.
{
"root_certs": "{...}",
"private_key": "{...}",
"cert_chain": "{...}"
}
- root_certs
- (core.DataSource) PEM encoded server root certificates.
- private_key
- (core.DataSource) PEM encoded client private key.
- cert_chain
- (core.DataSource) PEM encoded client certificate chain.
core.GrpcService.Credentials¶
[core.GrpcService.Credentials proto]
gRPC credentials as described at https://grpc.io/docs/guides/auth.html#credential-types.
Note
Credentials are only currently implemented for the Google gRPC client.
Warning
This message type has draft status.
{
"access_token": "..."
}
- access_token
(string) OAuth2 access token, see https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
Precisely one of access_token must be set.