# Functions
ClusterResourceWithOptions returns an xDS Cluster resource configured with the provided options.
CreateClientTLSCredentials creates client-side TLS transport credentials using certificate and key files from testdata/x509 directory.
DefaultClientListener returns a basic xds Listener resource to be used on the client side.
DefaultClientResources returns a set of resources (LDS, RDS, CDS, EDS) for a client to generically connect to one server.
DefaultCluster returns a basic xds Cluster resource.
DefaultEndpoint returns a basic xds Endpoint resource.
DefaultFileWatcherConfig is a helper function to create a default certificate provider plugin configuration.
DefaultRouteConfig returns a basic xds RouteConfig resource.
DefaultServerListener returns a basic xds Listener resource to be used on the server side.
HTTPFilter constructs an xds HttpFilter with the provided name and config.
SetupManagementServer performs the following: - spin up an xDS management server on a local port - set up certificates for consumption by the file_watcher plugin - creates a bootstrap file in a temporary location - creates an xDS resolver using the above bootstrap contents
Returns the following: - management server - nodeID to be used by the client when connecting to the management server - bootstrap contents to be used by the client - xDS resolver builder to be used by the client - a cleanup function to be invoked at the end of the test.
StartManagementServer initializes a management server which implements the AggregatedDiscoveryService endpoint.
# Constants
ClientSideCertProviderInstance is the certificate provider instance name used in the Cluster resource on the client side.
LoadBalancingPolicyRingHash results in the use of the ring_hash LB policy as the leaf policy.
LoadBalancingPolicyRoundRobin results in the use of the weighted_target LB policy to balance load across localities and endpoints in the cluster.
SecurityLevelMTLS is used when security ocnfiguration corresponding to mTLS is required.
SecurityLevelNone is used when no security configuration is required.
SecurityLevelTLS is used when security configuration corresponding to TLS is required.
ServerListenerResourceNameTemplate is the Listener resource name template used on the server side.
ServerSideCertProviderInstance is the certificate provider instance name used in the Listener resource on the server side.
# Variables
RouterHTTPFilter is the HTTP Filter configuration for the Router filter.
# Structs
ClusterOptions contains options to configure a Cluster resource.
ManagementServer is a thin wrapper around the xDS control plane implementation provided by envoyproxy/go-control-plane.
ManagementServerOptions contains options to be passed to the management server during creation.
ResourceParams wraps the arguments to be passed to DefaultClientResources.
UpdateOptions wraps parameters to be passed to the Update() method.
# Type aliases
LoadBalancingPolicy determines the policy used for balancing load across endpoints in the Cluster.
SecurityLevel allows the test to control the security level to be used in the resource returned by this package.