Documentation ¶
Index ¶
- Constants
- func EnsureFinalizer(ctx context.Context, client client.Client, object client.Object, ...) (didUpdate bool, err error)
- func RegisterFieldIndexes(ctx context.Context, mgr ctrl.Manager) error
- func RemoveFinalizer(ctx context.Context, client client.Client, object client.Object, ...) (didUpdate bool, err error)
- func SetupGatewayControllerWithManager(ctx context.Context, mgr ctrl.Manager, config GatewayControllerConfig) (*cache.Cache, binding.Cleaner, error)
- type GatewayClassConfigController
- type GatewayClassController
- type GatewayController
- type GatewayControllerConfig
Constants ¶
const ( // Naming convention: TARGET_REFERENCE. GatewayClass_GatewayClassConfigIndex = "__gatewayclass_referencing_gatewayclassconfig" GatewayClass_ControllerNameIndex = "__gatewayclass_controller_name" Gateway_GatewayClassIndex = "__gateway_referencing_gatewayclass" HTTPRoute_GatewayIndex = "__httproute_referencing_gateway" HTTPRoute_ServiceIndex = "__httproute_referencing_service" HTTPRoute_MeshServiceIndex = "__httproute_referencing_mesh_service" HTTPRoute_RouteRetryFilterIndex = "__httproute_referencing_retryfilter" HTTPRoute_RouteTimeoutFilterIndex = "__httproute_referencing_timeoutfilter" HTTPRoute_RouteAuthFilterIndex = "__httproute_referencing_routeauthfilter" TCPRoute_GatewayIndex = "__tcproute_referencing_gateway" TCPRoute_ServiceIndex = "__tcproute_referencing_service" TCPRoute_MeshServiceIndex = "__tcproute_referencing_mesh_service" MeshService_PeerIndex = "__meshservice_referencing_peer" Secret_GatewayIndex = "__secret_referencing_gateway" Gatewaypolicy_GatewayIndex = "__gatewaypolicy_referencing_gateway" )
Variables ¶
This section is empty.
Functions ¶
func EnsureFinalizer ¶
func EnsureFinalizer(ctx context.Context, client client.Client, object client.Object, finalizer string) (didUpdate bool, err error)
EnsureFinalizer ensures that the given object has the given finalizer.
func RegisterFieldIndexes ¶
RegisterFieldIndexes registers all of the field indexes for the API gateway controllers. These indexes are similar to indexes used in databases to speed up queries. They allow us to quickly find objects based on a field value.
Types ¶
type GatewayClassConfigController ¶
The GatewayClassConfigController manages the state of GatewayClassConfigs.
func (*GatewayClassConfigController) Reconcile ¶
func (r *GatewayClassConfigController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.8.3/pkg/reconcile
func (*GatewayClassConfigController) SetupWithManager ¶
type GatewayClassController ¶
GatewayClassController reconciles a GatewayClass object. The GatewayClass is responsible for defining the behavior of API gateways which reference the given class.
func (*GatewayClassController) Reconcile ¶
func (r *GatewayClassController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile handles the reconciliation loop for GatewayClass objects.
func (*GatewayClassController) SetupWithManager ¶
SetupWithManager registers the controller with the given manager.
type GatewayController ¶
type GatewayController struct { HelmConfig common.HelmConfig Log logr.Logger Translator common.ResourceTranslator client.Client // contains filtered or unexported fields }
GatewayController reconciles a Gateway object. The Gateway is responsible for defining the behavior of API gateways.
type GatewayControllerConfig ¶
type GatewayControllerConfig struct { HelmConfig common.HelmConfig ConsulClientConfig *consul.Config ConsulServerConnMgr consul.ServerConnectionManager NamespacesEnabled bool CrossNamespaceACLPolicy string Partition string Datacenter string AllowK8sNamespacesSet mapset.Set DenyK8sNamespacesSet mapset.Set }
GatewayControllerConfig holds the values necessary for configuring the GatewayController.