context

package
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionInfo

type ConnectionInfo struct {
	// Authority defines the URL that was used by the data plane to connect to the control plane
	Authority string
}

type Context

type Context struct {
	ControlPlane *ControlPlaneContext
	Mesh         MeshContext
}

type ControlPlaneContext

type ControlPlaneContext struct {
	CLACache xds.CLACache
	Secrets  secrets.Secrets
	Zone     string
}

ControlPlaneContext contains shared global data and components that are required for generating XDS This data is the same regardless of a data plane proxy and mesh we are generating the data for.

type MeshContext

type MeshContext struct {
	Hash                string
	Resource            *core_mesh.MeshResource
	Resources           Resources
	DataplanesByName    map[string]*core_mesh.DataplaneResource
	EndpointMap         xds.EndpointMap
	CrossMeshEndpoints  map[xds.MeshName]xds.EndpointMap
	VIPDomains          []xds.VIPDomains
	VIPOutbounds        []*mesh_proto.Dataplane_Networking_Outbound
	ServiceTLSReadiness map[string]bool
	DataSourceLoader    datasource.Loader
}

MeshContext contains shared data within one mesh that is required for generating XDS config. This data is the same for all data plane proxies within one mesh. If there is an information that can be precomputed and shared between all data plane proxies it should be put here. This way we can save CPU cycles of computing the same information.

func (*MeshContext) GetLoggingBackend added in v1.8.1

func (*MeshContext) GetTracingBackend added in v1.8.1

type MeshContextBuilder added in v1.8.1

type MeshContextBuilder interface {
	Build(ctx context.Context, meshName string) (MeshContext, error)

	// BuildIfChanged builds MeshContext only if hash of MeshContext is different
	// If hash is the same, then the function returns (nil, nil)
	// Hash returned in MeshContext can never be empty
	BuildIfChanged(ctx context.Context, meshName string, hash string) (*MeshContext, error)
}

func NewMeshContextBuilder added in v1.8.1

func NewMeshContextBuilder(
	rm manager.ReadOnlyResourceManager,
	types []core_model.ResourceType,
	ipFunc lookup.LookupIPFunc,
	zone string,
	vipsPersistence *vips.Persistence,
	topLevelDomain string,
) MeshContextBuilder

type MeshGatewayDataplanes added in v1.8.1

type MeshGatewayDataplanes struct {
	Mesh       *core_mesh.MeshResource
	Gateways   []*core_mesh.MeshGatewayResource
	Dataplanes []*core_mesh.DataplaneResource
}

type ResourceMap added in v1.8.1

type Resources added in v1.8.1

type Resources struct {
	MeshLocalResources ResourceMap
	CrossMeshResources map[xds.MeshName]ResourceMap
}

func NewResources added in v1.8.1

func NewResources() Resources

func (Resources) CircuitBreakers added in v1.8.1

func (r Resources) CircuitBreakers() *core_mesh.CircuitBreakerResourceList

func (Resources) Dataplanes added in v1.8.1

func (r Resources) Dataplanes() *core_mesh.DataplaneResourceList

func (Resources) ExternalServices added in v1.8.1

func (r Resources) ExternalServices() *core_mesh.ExternalServiceResourceList

func (Resources) FaultInjections added in v1.8.1

func (r Resources) FaultInjections() *core_mesh.FaultInjectionResourceList

func (Resources) GatewayRoutes added in v1.8.1

func (Resources) Gateways added in v1.8.1

func (Resources) HealthChecks added in v1.8.1

func (r Resources) HealthChecks() *core_mesh.HealthCheckResourceList

func (Resources) ListOrEmpty added in v1.8.1

func (r Resources) ListOrEmpty(resourceType core_model.ResourceType) core_model.ResourceList

func (Resources) OtherMeshes added in v1.8.1

func (r Resources) OtherMeshes() *core_mesh.MeshResourceList

func (Resources) ProxyTemplates added in v1.8.1

func (r Resources) ProxyTemplates() *core_mesh.ProxyTemplateResourceList

func (Resources) RateLimits added in v1.8.1

func (r Resources) RateLimits() *core_mesh.RateLimitResourceList

func (Resources) Retries added in v1.8.1

func (r Resources) Retries() *core_mesh.RetryResourceList

func (Resources) Secrets added in v1.8.1

func (r Resources) Secrets() *system.SecretResourceList

func (Resources) ServiceInsights added in v1.8.1

func (r Resources) ServiceInsights() *core_mesh.ServiceInsightResourceList

func (Resources) Timeouts added in v1.8.1

func (r Resources) Timeouts() *core_mesh.TimeoutResourceList

func (Resources) TrafficLogs added in v1.8.1

func (r Resources) TrafficLogs() *core_mesh.TrafficLogResourceList

func (Resources) TrafficPermissions added in v1.8.1

func (r Resources) TrafficPermissions() *core_mesh.TrafficPermissionResourceList

func (Resources) TrafficRoutes added in v1.8.1

func (r Resources) TrafficRoutes() *core_mesh.TrafficRouteResourceList

func (Resources) TrafficTraces added in v1.8.1

func (r Resources) TrafficTraces() *core_mesh.TrafficTraceResourceList

func (Resources) ZoneEgresses added in v1.8.1

func (r Resources) ZoneEgresses() *core_mesh.ZoneEgressResourceList

func (Resources) ZoneIngresses added in v1.8.1

func (r Resources) ZoneIngresses() *core_mesh.ZoneIngressResourceList

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL