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,
type QueueStatusForProxiesFn ¶
type QueueStatusForProxiesFn func(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
}
Click to show internal directories.
Click to hide internal directories.