#
YAML specificationThis page outlines the specification for Gateway.
Gateway config is nested under the gateway
section of a Flow YAML. For example,
jtype: Flow
version: '1'
gateway:
protocol: http
Defines a Gateway that uses HTTP protocol.
Warning
It is also possible to define a Gateway configuration directly under the top-level with
field, but it is not recommended.
Fields#
The following fields are defined for Gateway and can be set under the gateway
section (or the with
section) of a Flow YAML.
Name |
Description |
Type |
Default |
---|---|---|---|
|
The name of this object. |
|
|
|
The working directory for any IO operations in this object. If not set, then derive from its parent |
|
|
|
The YAML config of the logger used in this object. |
|
|
|
If set, then no log will be emitted from this object. |
|
|
|
If set, then exception stack information will not be added to the log |
|
|
|
The timeout in milliseconds of the control request, -1 for waiting forever |
|
|
|
The entrypoint command overrides the ENTRYPOINT in Docker image. when not set then the Docker image ENTRYPOINT takes effective. |
|
|
|
Dictionary of kwargs arguments that will be passed to Docker SDK when starting the docker ‘ |
|
|
|
Number of requests fetched from the client before feeding into the first Executor. |
|
|
|
The title of this HTTP server. It will be used in automatics docs such as Swagger UI. |
|
|
|
The description of this HTTP server. It will be used in automatics docs such as Swagger UI. |
|
|
|
If set, a CORS middleware is added to FastAPI frontend to allow cross-origin access. |
|
|
|
If set, |
|
|
|
If set, |
|
|
|
A JSON string that represents a map from executor endpoints ( |
|
|
|
Dictionary of kwargs arguments that will be passed to Uvicorn server when starting the server |
|
|
|
the path to the certificate file |
|
|
|
the path to the key file |
|
|
|
If set, /graphql endpoint is added to HTTP interface. |
|
|
|
Communication protocol of the server exposed by the Gateway. This can be a single value or a list of protocols, depending on your chosen Gateway. Choose the convenient protocols from: [‘GRPC’, ‘HTTP’, ‘WEBSOCKET’]. |
|
|
|
The host address of the runtime, by default it is 0.0.0.0. |
|
|
|
If set, respect the http_proxy and https_proxy environment variables. otherwise, it will unset these proxy variables before start. gRPC seems to prefer no proxy |
|
|
|
The config of the gateway, it could be one of the followings: |
|
|
|
Dictionary of keyword arguments that will override the |
|
|
|
The customized python modules need to be imported before loading the gateway |
|
|
|
Dictionary of kwargs arguments that will be passed to the grpc server as options when starting the server, example : {‘grpc.max_send_message_length’: -1} |
|
|
|
Routing graph for the gateway |
|
|
|
Dictionary stating which filtering conditions each Executor in the graph requires to receive Documents. |
|
|
|
JSON dictionary with the input addresses of each Deployment |
|
|
|
JSON dictionary with the request metadata for each Deployment |
|
|
|
list JSON disabling the built-in merging mechanism for each Deployment listed |
|
|
|
The compression mechanism used when sending requests from the Head to the WorkerRuntimes. For more details, check https://grpc.github.io/grpc/python/grpc.html#compression. |
|
|
|
The timeout in milliseconds used when sending data requests to Executors, -1 means no timeout, disabled by default |
|
|
|
The runtime class to run inside the Pod |
|
|
|
The timeout in milliseconds of a Pod waits for the runtime to be ready, -1 for waiting forever |
|
|
|
The map of environment variables that are available inside runtime |
|
|
|
If set, the current Pod/Deployment can not be further chained, and the next |
|
|
|
If set, the Gateway will restart while serving if YAML configuration source is changed. |
|
|
|
The port for input data to bind the gateway server to, by default, random ports between range [49152, 65535] will be assigned. The port argument can be either 1 single value in case only 1 protocol is used or multiple values when many protocols are used. |
|
|
|
If set, spawn an http server with a prometheus endpoint to expose metrics |
|
|
|
The port on which the prometheus server is exposed, default is a random port between [49152, 65535] |
|
|
|
Number of retries per gRPC call. If <0 it defaults to max(3, num_replicas) |
|
|
|
If set, the sdk implementation of the OpenTelemetry tracer will be available and will be enabled for automatic tracing of requests and customer span creation. Otherwise a no-op implementation will be provided. |
|
|
|
If tracing is enabled, this hostname will be used to configure the trace exporter agent. |
|
|
|
If tracing is enabled, this port will be used to configure the trace exporter agent. |
|
|
|
If set, the sdk implementation of the OpenTelemetry metrics will be available for default monitoring and custom measurements. Otherwise a no-op implementation will be provided. |
|
|
|
If tracing is enabled, this hostname will be used to configure the metrics exporter agent. |
|
|
|
If tracing is enabled, this port will be used to configure the metrics exporter agent. |
|
|