proxy_syncer

package
v1.18.0-beta28 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 59 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UnwrapEps

func UnwrapEps(geps []*glooEndpoint) gloov1.EndpointList

stolen from projects/gloo/pkg/upstreams/serviceentry/krtwrappers.go

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 GatewayInputChannels

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

func NewGatewayInputChannels

func NewGatewayInputChannels() *GatewayInputChannels

func (*GatewayInputChannels) Kick

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

type ProxySyncer

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

ProxySyncer is responsible for translating Kubernetes Gateway CRs into Gloo Proxies and syncing the proxyClient with the newly translated proxies.

func NewProxySyncer

func NewProxySyncer(
	controllerName string,
	writeNamespace string,
	inputs *GatewayInputChannels,
	mgr manager.Manager,
	k8sGwExtensions extensions.K8sGatewayExtensions,
	proxyClient gloov1.ProxyClient,
	translator translator.Translator,
	xdsCache envoycache.SnapshotCache,
	settings *gloov1.Settings,
	syncerExtensions []syncer.TranslatorSyncerExtension,
	legacySecretClient gloov1.SecretClient,
	glooReporter reporter.StatusReporter,
) *ProxySyncer

NewProxySyncer returns an implementation of the ProxySyncer The provided GatewayInputChannels are used to trigger syncs.

func (*ProxySyncer) Start

func (s *ProxySyncer) Start(ctx context.Context) error

type ProxyTranslator added in v1.18.0

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

func NewProxyTranslator added in v1.18.0

func NewProxyTranslator(translator translator.Translator,
	xdsCache envoycache.SnapshotCache,
	settings *gloov1.Settings,
	syncerExtensions []syncer.TranslatorSyncerExtension,
	glooReporter reporter.StatusReporter,
) ProxyTranslator

type SecretInputs

type SecretInputs struct {
	Secrets v1.SecretList
}

Jump to

Keyboard shortcuts

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