Documentation ¶
Index ¶
- Constants
- Variables
- func BuildTopology(ctx context.Context, ks8sClient client.Client, gw *gatewayapiv1.Gateway, ...) (*kuadrantgatewayapi.TopologyIndexes, error)
- func GetLimitador(ctx context.Context, k8sclient client.Client, ...) (*limitadorv1alpha1.Limitador, error)
- func GetPoliciesByKind(ctx context.Context, ks8sClient client.Client, policyKind string, ...) ([]kuadrantgatewayapi.Policy, error)
- type AuthPolicyReconciler
- type DNSPolicyReconciler
- type DNSPolicyRefsConfig
- type GatewayKuadrantReconciler
- type HTTPRouteParentRefsEventMapper
- type KuadrantReconciler
- type LimitadorClusterEnvoyFilterReconciler
- type RateLimitPolicyEnforcedStatusReconciler
- type RateLimitPolicyReconciler
- type RateLimitingWASMPluginReconciler
- type TLSPolicyReconciler
- type TargetStatusReconciler
Constants ¶
const ( LabelGatewayReference = "kuadrant.io/gateway" LabelGatewayNSRef = "kuadrant.io/gateway-namespace" LabelListenerReference = "kuadrant.io/listener-name" DefaultTTL = 60 DefaultCnameTTL = 300 )
const ( ReadyConditionType string = "Ready" PolicyReasonUnknown string = "Unknown" )
const DNSPolicyFinalizer = "kuadrant.io/dns-policy"
const (
HTTPRouteGatewayParentField = ".metadata.parentRefs.gateway"
)
const PolicyAffectedConditionPattern = "kuadrant.io/%sAffected" // Policy kinds are expected to be named XPolicy
const TLSPolicyFinalizer = "kuadrant.io/tls-policy"
Variables ¶
var ( ErrUnknownRoutingStrategy = fmt.Errorf("unknown routing strategy") ErrNoManagedZoneForHost = fmt.Errorf("no managed zone for host") )
var KuadrantExtAuthProviderName = env.GetString("AUTH_PROVIDER", "kuadrant-authorization")
var NegativePolarityConditions []string
Functions ¶
func BuildTopology ¶ added in v0.8.0
func BuildTopology(ctx context.Context, ks8sClient client.Client, gw *gatewayapiv1.Gateway, policyKind string, listPolicyKind client.ObjectList) (*kuadrantgatewayapi.TopologyIndexes, error)
func GetLimitador ¶ added in v0.8.0
func GetLimitador(ctx context.Context, k8sclient client.Client, rlp *kuadrantv1beta2.RateLimitPolicy) (*limitadorv1alpha1.Limitador, error)
func GetPoliciesByKind ¶ added in v0.8.0
func GetPoliciesByKind(ctx context.Context, ks8sClient client.Client, policyKind string, listKind client.ObjectList) ([]kuadrantgatewayapi.Policy, error)
Types ¶
type AuthPolicyReconciler ¶ added in v0.2.0
type AuthPolicyReconciler struct { *reconcilers.BaseReconciler TargetRefReconciler reconcilers.TargetRefReconciler // AffectedPolicyMap tracks the affected policies to report their status. AffectedPolicyMap *kuadrant.AffectedPolicyMap }
AuthPolicyReconciler reconciles a AuthPolicy object
func (*AuthPolicyReconciler) SetupWithManager ¶ added in v0.2.0
func (r *AuthPolicyReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type DNSPolicyReconciler ¶ added in v0.7.0
type DNSPolicyReconciler struct { *reconcilers.BaseReconciler TargetRefReconciler reconcilers.TargetRefReconciler // contains filtered or unexported fields }
DNSPolicyReconciler reconciles a DNSPolicy object
func (*DNSPolicyReconciler) SetupWithManager ¶ added in v0.7.0
func (r *DNSPolicyReconciler) SetupWithManager(mgr ctrl.Manager) error
type DNSPolicyRefsConfig ¶ added in v0.7.0
type DNSPolicyRefsConfig struct{}
type GatewayKuadrantReconciler ¶ added in v0.4.0
type GatewayKuadrantReconciler struct {
*reconcilers.BaseReconciler
}
GatewayKuadrantReconciler is responsible of assiging gateways to a kuadrant instances Currently only one kuadrant instance is allowed per cluster This controller will annotate every gateway in the cluster with the namespace of the kuadrant instance TODO: After the RFC defined, we might want to get the gw to label/annotate from Kuadrant.Spec or manual labeling/annotation
func (*GatewayKuadrantReconciler) Reconcile ¶ added in v0.4.0
func (r *GatewayKuadrantReconciler) Reconcile(eventCtx context.Context, req ctrl.Request) (ctrl.Result, error)
For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.10.0/pkg/reconcile
func (*GatewayKuadrantReconciler) SetupWithManager ¶ added in v0.4.0
func (r *GatewayKuadrantReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type HTTPRouteParentRefsEventMapper ¶ added in v0.4.0
HTTPRouteParentRefsEventMapper is an EventHandler that maps HTTPRoute events to policy events, by going through the parentRefs of the route and finding all policies that target one of its parent resources, thus yielding events for those policies.
func (*HTTPRouteParentRefsEventMapper) MapToAuthPolicy ¶ added in v0.4.0
func (m *HTTPRouteParentRefsEventMapper) MapToAuthPolicy(obj client.Object) []reconcile.Request
func (*HTTPRouteParentRefsEventMapper) MapToRateLimitPolicy ¶ added in v0.4.0
func (m *HTTPRouteParentRefsEventMapper) MapToRateLimitPolicy(obj client.Object) []reconcile.Request
type KuadrantReconciler ¶
type KuadrantReconciler struct {
*reconcilers.BaseReconciler
}
KuadrantReconciler reconciles a Kuadrant object
func (*KuadrantReconciler) Reconcile ¶
func (r *KuadrantReconciler) Reconcile(eventCtx 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.10.0/pkg/reconcile
func (*KuadrantReconciler) SetupWithManager ¶
func (r *KuadrantReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type LimitadorClusterEnvoyFilterReconciler ¶ added in v0.4.0
type LimitadorClusterEnvoyFilterReconciler struct {
*reconcilers.BaseReconciler
}
LimitadorClusterEnvoyFilterReconciler reconciles a EnvoyFilter object with limitador's cluster
func (*LimitadorClusterEnvoyFilterReconciler) Reconcile ¶ added in v0.4.0
func (r *LimitadorClusterEnvoyFilterReconciler) Reconcile(eventCtx context.Context, req ctrl.Request) (ctrl.Result, error)
For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.10.0/pkg/reconcile
func (*LimitadorClusterEnvoyFilterReconciler) SetupWithManager ¶ added in v0.4.0
func (r *LimitadorClusterEnvoyFilterReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type RateLimitPolicyEnforcedStatusReconciler ¶ added in v0.8.0
type RateLimitPolicyEnforcedStatusReconciler struct {
*reconcilers.BaseReconciler
}
func (*RateLimitPolicyEnforcedStatusReconciler) SetupWithManager ¶ added in v0.8.0
func (r *RateLimitPolicyEnforcedStatusReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type RateLimitPolicyReconciler ¶ added in v0.2.0
type RateLimitPolicyReconciler struct { *reconcilers.BaseReconciler TargetRefReconciler reconcilers.TargetRefReconciler }
RateLimitPolicyReconciler reconciles a RateLimitPolicy object
func (*RateLimitPolicyReconciler) Reconcile ¶ added in v0.2.0
func (r *RateLimitPolicyReconciler) Reconcile(eventCtx 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. TODO(user): Modify the Reconcile function to compare the state specified by the RateLimitPolicy object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.
For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.10.0/pkg/reconcile
func (*RateLimitPolicyReconciler) SetupWithManager ¶ added in v0.2.0
func (r *RateLimitPolicyReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type RateLimitingWASMPluginReconciler ¶ added in v0.7.0
type RateLimitingWASMPluginReconciler struct {
*reconcilers.BaseReconciler
}
RateLimitingWASMPluginReconciler reconciles a WASMPlugin object for rate limiting
func (*RateLimitingWASMPluginReconciler) Reconcile ¶ added in v0.7.0
func (r *RateLimitingWASMPluginReconciler) Reconcile(eventCtx context.Context, req ctrl.Request) (ctrl.Result, error)
For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.10.0/pkg/reconcile
func (*RateLimitingWASMPluginReconciler) SetupWithManager ¶ added in v0.7.0
func (r *RateLimitingWASMPluginReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type TLSPolicyReconciler ¶ added in v0.7.0
type TLSPolicyReconciler struct { *reconcilers.BaseReconciler TargetRefReconciler reconcilers.TargetRefReconciler }
TLSPolicyReconciler reconciles a TLSPolicy object
func (*TLSPolicyReconciler) FetchValidGateway ¶ added in v0.7.0
func (r *TLSPolicyReconciler) FetchValidGateway(ctx context.Context, key client.ObjectKey) (*gatewayapiv1.Gateway, error)
func (*TLSPolicyReconciler) SetupWithManager ¶ added in v0.7.0
func (r *TLSPolicyReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type TargetStatusReconciler ¶ added in v0.7.0
type TargetStatusReconciler struct {
*reconcilers.BaseReconciler
}
TargetStatusReconciler reconciles a the status stanzas of objects targeted by Kuadrant policies
func (*TargetStatusReconciler) SetupWithManager ¶ added in v0.7.0
func (r *TargetStatusReconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
Source Files ¶
- authpolicy_authconfig.go
- authpolicy_controller.go
- authpolicy_istio_authorizationpolicy.go
- authpolicy_status.go
- dns_helper.go
- dnspolicy_controller.go
- dnspolicy_dnsrecords.go
- dnspolicy_status.go
- gateway_kuadrant_controller.go
- httprouteparentrefs_eventmapper.go
- kuadrant_controller.go
- kuadrant_status.go
- limitador_cluster_envoyfilter_controller.go
- limitador_status_to_rlp_gateway_event_handler.go
- rate_limiting_wasmplugin_controller.go
- ratelimitpolicy_controller.go
- ratelimitpolicy_enforced_status_controller.go
- ratelimitpolicy_limits.go
- ratelimitpolicy_status.go
- target_status_controller.go
- tlspolicy_certmanager.go
- tlspolicy_certmanager_certificates.go
- tlspolicy_controller.go
- tlspolicy_status.go