v2

package
v1.4.0-alpha.4 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2024 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Overview

Package v2 implements a processor of all the resources that are relevant to the gateway

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGatewayConfigGenerator

func NewGatewayConfigGenerator(gateway *gwv1.Gateway, processor processor.Processor, client cache.Cache) processor.Generator

Types

type BackendLBPolicyProcessor

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

func (*BackendLBPolicyProcessor) Process

func (p *BackendLBPolicyProcessor) Process(route client.Object, routeParentRef gwv1.ParentReference, routeRule any, backendRef gwv1.BackendObjectReference, svcPort *fgwv2.ServicePortName)

type BackendPolicyProcessor

type BackendPolicyProcessor interface {
	Process(route client.Object, routeParentRef gwv1.ParentReference, routeRule any, backendRef gwv1.BackendObjectReference, svcPort *fgwv2.ServicePortName)
}

BackendPolicyProcessor is an interface for enriching backend level policies

func NewBackendLBPolicyProcessor

func NewBackendLBPolicyProcessor(c *ConfigGenerator) BackendPolicyProcessor

func NewBackendTLSPolicyProcessor

func NewBackendTLSPolicyProcessor(c *ConfigGenerator) BackendPolicyProcessor

func NewHealthCheckPolicyProcessor

func NewHealthCheckPolicyProcessor(c *ConfigGenerator) BackendPolicyProcessor

func NewRetryPolicyProcessor

func NewRetryPolicyProcessor(c *ConfigGenerator) BackendPolicyProcessor

type BackendTLSPolicyProcessor

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

func (*BackendTLSPolicyProcessor) Process

func (p *BackendTLSPolicyProcessor) Process(route client.Object, routeParentRef gwv1.ParentReference, routeRule any, backendRef gwv1.BackendObjectReference, svcPort *fgwv2.ServicePortName)

type ConfigGenerator

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

func (*ConfigGenerator) Generate

func (c *ConfigGenerator) Generate() fgwv2.Config

type GatewayProcessor

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

GatewayProcessor is a processor of all the resources that are relevant to the gateway

func NewGatewayProcessor

func NewGatewayProcessor(ctx *cctx.ControllerContext) *GatewayProcessor

NewGatewayProcessor creates a new gateway processor

func (*GatewayProcessor) BuildConfigs

func (c *GatewayProcessor) BuildConfigs()

BuildConfigs builds the configs for all the gateways in the processor

func (*GatewayProcessor) Delete

func (c *GatewayProcessor) Delete(obj interface{}) bool

Delete deletes an object from the processor

func (*GatewayProcessor) Insert

func (c *GatewayProcessor) Insert(obj interface{}) bool

Insert inserts an object into the processor

func (*GatewayProcessor) IsConfigMapReferred

func (c *GatewayProcessor) IsConfigMapReferred(cm client.ObjectKey) bool

func (*GatewayProcessor) IsEffectiveRoute

func (c *GatewayProcessor) IsEffectiveRoute(parentRefs []gwv1.ParentReference) bool

func (*GatewayProcessor) IsEffectiveTargetRef

func (c *GatewayProcessor) IsEffectiveTargetRef(policy client.Object, targetRef gwv1alpha2.NamespacedPolicyTargetReference) bool

func (*GatewayProcessor) IsFilterReferred

func (c *GatewayProcessor) IsFilterReferred(filter client.ObjectKey) bool

func (*GatewayProcessor) IsHeadlessServiceWithoutSelector

func (c *GatewayProcessor) IsHeadlessServiceWithoutSelector(key client.ObjectKey) bool

func (*GatewayProcessor) IsRoutableLocalTargetServices

func (c *GatewayProcessor) IsRoutableLocalTargetServices(policy client.Object, targetRefs []gwv1alpha2.LocalPolicyTargetReference) bool

func (*GatewayProcessor) IsRoutableNamespacedTargetServices

func (c *GatewayProcessor) IsRoutableNamespacedTargetServices(policy client.Object, targetRefs []gwv1alpha2.NamespacedPolicyTargetReference) bool

func (*GatewayProcessor) IsRoutableService

func (c *GatewayProcessor) IsRoutableService(service client.ObjectKey) bool

func (*GatewayProcessor) IsRoutableTargetService

func (c *GatewayProcessor) IsRoutableTargetService(owner client.Object, targetRef gwv1alpha2.NamespacedPolicyTargetReference) bool

func (*GatewayProcessor) IsSecretReferred

func (c *GatewayProcessor) IsSecretReferred(secret client.ObjectKey) bool

func (*GatewayProcessor) UseEndpointSlices

func (c *GatewayProcessor) UseEndpointSlices() bool

type HealthCheckPolicyProcessor

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

func (*HealthCheckPolicyProcessor) Process

func (p *HealthCheckPolicyProcessor) Process(route client.Object, routeParentRef gwv1.ParentReference, routeRule any, backendRef gwv1.BackendObjectReference, svcPort *fgwv2.ServicePortName)

type RetryPolicyProcessor

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

func (*RetryPolicyProcessor) Process

func (p *RetryPolicyProcessor) Process(route client.Object, routeParentRef gwv1.ParentReference, routeRule any, backendRef gwv1.BackendObjectReference, svcPort *fgwv2.ServicePortName)

Jump to

Keyboard shortcuts

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