proxy_syncer

package
v1.17.7 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2024 License: Apache-2.0 Imports: 20 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 GatewayInputChannels

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

func NewGatewayInputChannels

func NewGatewayInputChannels() *GatewayInputChannels

func (*GatewayInputChannels) Kick

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

func (*GatewayInputChannels) UpdateSecretInputs

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

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, writeNamespace string,
	inputs *GatewayInputChannels,
	mgr manager.Manager,
	k8sGwExtensions extensions.K8sGatewayExtensions,
	proxyClient gloo_solo_io.ProxyClient,
	queueStatusForProxies QueueStatusForProxiesFn,
) *ProxySyncer

NewProxySyncer returns an implementation of the ProxySyncer The provided GatewayInputChannels are used to trigger syncs. The proxy sync is triggered by the `genericEvent` which is kicked when we reconcile gateway in the gateway controller. The `secretEvent` is kicked when a secret is created, updated,

func (*ProxySyncer) Start

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

type QueueStatusForProxiesFn

type QueueStatusForProxiesFn func(ctx context.Context, proxies gloo_solo_io.ProxyList, pluginRegistry *registry.PluginRegistry, totalSyncCount int)

QueueStatusForProxiesFn queues a list of proxies to be synced and the plugin registry that produced them for a given sync iteration

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