Module: Async::GRPC::XDS::ConfigSource

Extended by:
ConfigSource
Included in:
ConfigSource
Defined in:
lib/async/grpc/xds/config_source.rb

Overview

Builds Envoy xDS configuration sources.

Instance Method Summary collapse

Instance Method Details

#adsObject

Build a configuration source that uses the global ADS server.



18
19
20
21
22
# File 'lib/async/grpc/xds/config_source.rb', line 18

def ads
	Envoy::Config::Core::V3::ConfigSource.new(
		ads: Envoy::Config::Core::V3::AggregatedConfigSource.new
	)
end

#grpc(cluster_name) ⇒ Object

Build a configuration source for a dedicated gRPC discovery service.



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/async/grpc/xds/config_source.rb', line 27

def grpc(cluster_name)
	Envoy::Config::Core::V3::ConfigSource.new(
		resource_api_version: :V3,
		api_config_source: Envoy::Config::Core::V3::ApiConfigSource.new(
			api_type: :GRPC,
			transport_api_version: :V3,
			grpc_services: [
				Envoy::Config::Core::V3::GrpcService.new(
					envoy_grpc: Envoy::Config::Core::V3::GrpcService::EnvoyGrpc.new(
						cluster_name: cluster_name.to_s
					)
				)
			]
		)
	)
end