xds

package
v1.17.0-beta12 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AsyncQueue

type AsyncQueue[T any] interface {
	// Dequeue will pop the first available item off of the queue.
	// This function will block until there is an item available, or the context is canceled.
	// If the context is canceled this function will return ctx.Err().
	Dequeue(ctx context.Context) (T, error)
	// Enqueue will push an item onto the queue. If no space is available on the queue,
	// this function will return immediately and drop the item.
	Enqueue(T)
	// Next will return a channel so that this can be used in a select statement.
	Next() <-chan T
}

func NewAsyncQueue

func NewAsyncQueue[T any]() AsyncQueue[T]

type DiscoveryInputs

type DiscoveryInputs struct {
	Upstreams v1.UpstreamList
	Endpoints v1.EndpointList
}

type ProxyXdsSyncer

type ProxyXdsSyncer interface {
	ProyxSyncer
	SyncXdsOnEvent(
		ctx context.Context,
		onXdsSynced func(XdsSyncResult),
	)
}

type ProyxSyncer

type ProyxSyncer interface {
	UpdateDiscoveryInputs(ctx context.Context, inputs DiscoveryInputs)
	UpdateSecretInputs(ctx context.Context, inputs SecretInputs)
	Kick(ctx context.Context)
}

ProyxSyncer is the write interface where different translators can publish their outputs (which are the proxy syncer inputs)

type SecretInputs

type SecretInputs struct {
	Secrets v1.SecretList
}

type XdsInputChannels

type XdsInputChannels struct {
	// contains filtered or unexported fields
}

func NewXdsInputChannels

func NewXdsInputChannels() *XdsInputChannels

func (*XdsInputChannels) Kick

func (x *XdsInputChannels) Kick(ctx context.Context)

func (*XdsInputChannels) UpdateDiscoveryInputs

func (x *XdsInputChannels) UpdateDiscoveryInputs(ctx context.Context, inputs DiscoveryInputs)

func (*XdsInputChannels) UpdateSecretInputs

func (x *XdsInputChannels) UpdateSecretInputs(ctx context.Context, inputs SecretInputs)

type XdsSyncResult

type XdsSyncResult struct {
	ResourceReports reporter.ResourceReports
}

type XdsSyncer

type XdsSyncer struct {
	// contains filtered or unexported fields
}

func NewXdsSyncer

func NewXdsSyncer(
	controllerName string,
	translator translator.Translator,
	sanitizer sanitizer.XdsSanitizer,
	xdsCache envoycache.SnapshotCache,
	xdsGarbageCollection bool,
	inputs *XdsInputChannels,
	mgr manager.Manager,
	k8sGwExtensionsFactory extensions.K8sGatewayExtensionsFactory,
	proxyClient gloo_solo_io.ProxyClient,
) *XdsSyncer

func (*XdsSyncer) Start

func (s *XdsSyncer) Start(
	ctx context.Context,
) error

syncEnvoy will translate, sanatize, and set the snapshot for each of the proxies, all while merging all the reports into allReports.

Jump to

Keyboard shortcuts

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