Versions in this module Expand all Collapse all v2 v2.5.5 Aug 7, 2023 Changes in this version + const IndexKeyIngressClassParamsRefName + const IndexKeyIngressClassRefName + const IndexKeySecretRefName + const IndexKeyServiceRefName + const IngressClassControllerALB + var ErrInvalidIngressClass = errors.New("invalid ingress class") + func EncodeGroupIDToReconcileRequest(gID GroupID) ctrl.Request + func NewACMCertDiscovery(acmClient services.ACM, logger logr.Logger) *acmCertDiscovery + func NewDefaultAuthConfigBuilder(annotationParser annotations.Parser) *defaultAuthConfigBuilder + func NewDefaultEnhancedBackendBuilder(k8sClient client.Client, annotationParser annotations.Parser, ...) *defaultEnhancedBackendBuilder + func NewDefaultFinalizerManager(k8sFinalizerManager k8s.FinalizerManager) *defaultFinalizerManager + func NewDefaultGroupLoader(client client.Client, eventRecorder record.EventRecorder, ...) *defaultGroupLoader + func NewDefaultModelBuilder(k8sClient client.Client, eventRecorder record.EventRecorder, ...) *defaultModelBuilder + func NewDefaultReferenceIndexer(enhancedBackendBuilder EnhancedBackendBuilder, ...) *defaultReferenceIndexer + func NewDefaultRuleOptimizer(logger logr.Logger) *defaultRuleOptimizer + type Action struct + FixedResponseConfig *FixedResponseActionConfig + ForwardConfig *ForwardActionConfig + RedirectConfig *RedirectActionConfig + TargetGroupARN *string + Type ActionType + type ActionType string + const ActionTypeFixedResponse + const ActionTypeForward + const ActionTypeRedirect + type AuthConfig struct + IDPConfigCognito *AuthIDPConfigCognito + IDPConfigOIDC *AuthIDPConfigOIDC + OnUnauthenticatedRequest string + Scope string + SessionCookieName string + SessionTimeout int64 + Type AuthType + type AuthConfigBuilder interface + Build func(ctx context.Context, svcAndIngAnnotations map[string]string) (AuthConfig, error) + type AuthIDPConfigCognito struct + AuthenticationRequestExtraParams map[string]string + UserPoolARN string + UserPoolClientID string + UserPoolDomain string + type AuthIDPConfigOIDC struct + AuthenticationRequestExtraParams map[string]string + AuthorizationEndpoint string + Issuer string + SecretName string + TokenEndpoint string + UserInfoEndpoint string + type AuthType string + const AuthTypeCognito + const AuthTypeNone + const AuthTypeOIDC + type CertDiscovery interface + Discover func(ctx context.Context, tlsHosts []string) ([]string, error) + type ClassAnnotationMatcher interface + Matches func(ingClassAnnotation string) bool + func NewDefaultClassAnnotationMatcher(ingressClass string) ClassAnnotationMatcher + type ClassConfiguration struct + IngClass *networking.IngressClass + IngClassParams *elbv2api.IngressClassParams + type ClassLoader interface + Load func(ctx context.Context, ing *networking.Ingress) (ClassConfiguration, error) + func NewDefaultClassLoader(client client.Client, loadParams bool) ClassLoader + type ClassifiedIngress struct + Ing *networking.Ingress + IngClassConfig ClassConfiguration + func (c ClassifiedIngress) GetObjectMeta() metav1.Object + type EnhancedBackend struct + Action Action + AuthConfig AuthConfig + Conditions []RuleCondition + type EnhancedBackendBuildOption func(opts *EnhancedBackendBuildOptions) + func WithLoadAuthConfig(loadAuthConfig bool) EnhancedBackendBuildOption + func WithLoadBackendServices(loadBackendServices bool, ...) EnhancedBackendBuildOption + type EnhancedBackendBuildOptions struct + BackendServices map[types.NamespacedName]*corev1.Service + LoadAuthConfig bool + LoadBackendServices bool + func (opts *EnhancedBackendBuildOptions) ApplyOptions(options ...EnhancedBackendBuildOption) + type EnhancedBackendBuilder interface + Build func(ctx context.Context, ing *networking.Ingress, ...) (EnhancedBackend, error) + type FinalizerManager interface + AddGroupFinalizer func(ctx context.Context, groupID GroupID, members []ClassifiedIngress) error + RemoveGroupFinalizer func(ctx context.Context, groupID GroupID, inactiveMembers []*networking.Ingress) error + type FixedResponseActionConfig struct + ContentType *string + MessageBody *string + StatusCode string + type ForwardActionConfig struct + TargetGroupStickinessConfig *TargetGroupStickinessConfig + TargetGroups []TargetGroupTuple + type Group struct + ID GroupID + InactiveMembers []*networking.Ingress + Members []ClassifiedIngress + type GroupID types.NamespacedName + func DecodeGroupIDFromReconcileRequest(request ctrl.Request) GroupID + func NewGroupIDForExplicitGroup(groupName string) GroupID + func NewGroupIDForImplicitGroup(ingKey types.NamespacedName) GroupID + func (groupID GroupID) IsExplicit() bool + func (groupID GroupID) String() string + type GroupLoader interface + Load func(ctx context.Context, groupID GroupID) (Group, error) + LoadGroupIDIfAny func(ctx context.Context, ing *networking.Ingress) (*GroupID, error) + LoadGroupIDsPendingFinalization func(ctx context.Context, ing *networking.Ingress) []GroupID + type HTTPHeaderConditionConfig struct + HTTPHeaderName string + Values []string + type HTTPRequestMethodConditionConfig struct + Values []string + type HostHeaderConditionConfig struct + Values []string + type MockCertDiscovery struct + func NewMockCertDiscovery(ctrl *gomock.Controller) *MockCertDiscovery + func (m *MockCertDiscovery) Discover(arg0 context.Context, arg1 []string) ([]string, error) + func (m *MockCertDiscovery) EXPECT() *MockCertDiscoveryMockRecorder + type MockCertDiscoveryMockRecorder struct + func (mr *MockCertDiscoveryMockRecorder) Discover(arg0, arg1 interface{}) *gomock.Call + type ModelBuilder interface + Build func(ctx context.Context, ingGroup Group) (core.Stack, *elbv2model.LoadBalancer, []types.NamespacedName, bool, error) + type PathPatternConditionConfig struct + Values []string + type QueryStringConditionConfig struct + Values []QueryStringKeyValuePair + type QueryStringKeyValuePair struct + Key *string + Value string + type RedirectActionConfig struct + Host *string + Path *string + Port *string + Protocol *string + Query *string + StatusCode string + type ReferenceIndexer interface + BuildIngressClassParamsRefIndexes func(ctx context.Context, ingClass *networking.IngressClass) []string + BuildIngressClassRefIndexes func(ctx context.Context, ing *networking.Ingress) []string + BuildSecretRefIndexes func(ctx context.Context, ingOrSvc client.Object) []string + BuildServiceRefIndexes func(ctx context.Context, ing *networking.Ingress) []string + type Rule struct + Actions []elbv2model.Action + Conditions []elbv2model.RuleCondition + Tags map[string]string + type RuleCondition struct + Field RuleConditionField + HTTPHeaderConfig *HTTPHeaderConditionConfig + HTTPRequestMethodConfig *HTTPRequestMethodConditionConfig + HostHeaderConfig *HostHeaderConditionConfig + PathPatternConfig *PathPatternConditionConfig + QueryStringConfig *QueryStringConditionConfig + SourceIPConfig *SourceIPConditionConfig + func (c *RuleCondition) Validate() error + type RuleConditionField string + const RuleConditionFieldHTTPHeader + const RuleConditionFieldHTTPRequestMethod + const RuleConditionFieldHostHeader + const RuleConditionFieldPathPattern + const RuleConditionFieldQueryString + const RuleConditionFieldSourceIP + type RuleOptimizer interface + Optimize func(ctx context.Context, port int64, protocol elbv2model.Protocol, rules []Rule) ([]Rule, error) + type SSLRedirectConfig struct + SSLPort int64 + StatusCode string + type SourceIPConditionConfig struct + Values []string + type TargetGroupStickinessConfig struct + DurationSeconds *int64 + Enabled *bool + type TargetGroupTuple struct + ServiceName *string + ServicePort *intstr.IntOrString + TargetGroupARN *string + Weight *int64