gRPC services

core.GrpcService

[core.GrpcService proto]

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.