Configuration sources

core.ApiConfigSource

[core.ApiConfigSource proto]

API configuration source. This identifies the API type and cluster that Envoy will use to fetch an xDS API.

  1. {
  2. "api_type": "...",
  3. "cluster_names": [],
  4. "grpc_services": [],
  5. "refresh_delay": "{...}"
  6. }

api_type

(core.ApiConfigSource.ApiType)

cluster_names

(string) Multiple cluster names may be provided for REST_LEGACY/REST. If > 1 cluster is defined, clusters will be cycled through if any kind of failure occurs.

Note

The cluster with name cluster_name must be statically defined and its type must not be EDS.

grpc_services

(core.GrpcService) Multiple gRPC services be provided for GRPC. If > 1 cluster is defined, services will be cycled through if any kind of failure occurs.

Note

If a gRPC service points to a cluster_name, it must be statically defined and its type must not be EDS.

refresh_delay

(Duration) For REST APIs, the delay between successive polls.

Enum core.ApiConfigSource.ApiType

[core.ApiConfigSource.ApiType proto]

APIs may be fetched via either REST or gRPC.

REST_LEGACY

(DEFAULT) ⁣REST-JSON legacy corresponds to the v1 API.

REST

⁣REST-JSON v2 API. The canonical JSON encoding for the v2 protos is used.

GRPC

⁣gRPC v2 API.

core.AggregatedConfigSource

[core.AggregatedConfigSource proto]

Aggregated Discovery Service (ADS) options. This is currently empty, but when set in ConfigSource can be used to specify that ADS is to be used.

  1. {}

core.ConfigSource

[core.ConfigSource proto]

Configuration for listeners, clusters, routes, endpoints etc. may either be sourced from the filesystem or from an xDS API source. Filesystem configs are watched with inotify for updates.

  1. {
  2. "path": "...",
  3. "api_config_source": "{...}",
  4. "ads": "{...}"
  5. }

path

(string) Path on the filesystem to source and watch for configuration updates.

Note

The path to the source must exist at config load time.

Note

Envoy will only watch the file path for moves. This is because in general only moves are atomic. The same method of swapping files as is demonstrated in the runtime documentation can be used here also.

Precisely one of path, api_config_source, ads must be set.

api_config_source

(core.ApiConfigSource) API configuration source.

Precisely one of path, api_config_source, ads must be set.

ads

(core.AggregatedConfigSource) When set, ADS will be used to fetch resources. The ADS API configuration source in the bootstrap configuration is used.

Precisely one of path, api_config_source, ads must be set.