Documentation
¶
Index ¶
- Constants
- func GetBalancerTag(o metav1.Object) string
- func GetIngressGroupAnnotation(g *IngressGroup, annotation string) (string, error)
- func GetNodeInternalIP(node *corev1.Node, preferIPv6 bool) (string, error)
- func HasBalancerTag(o metav1.Object) bool
- func InstanceID(node v1.Node) (string, error)
- func IsIPv6(addr string) bool
- func IsIngressManagedByThisController(ing v1.Ingress, classes v1.IngressClassList) bool
- func IsServiceManaged(ctx context.Context, cli client.Client, svc v1.Service) (bool, error)
- func IsServiceReferencedByIngress(svc v1.Service, ing networking.Ingress) bool
- func IsTLS(host string, tls []networking.IngressTLS) bool
- func NamespacedNameOf(object client.Object) types.NamespacedName
- func ParseConfigsFromAnnotationValue(s string) (map[string]string, error)
- func ParseModifyHeadersFromAnnotationValue(s string) (map[string]string, error)
- func ParseSecrets(ings []networking.Ingress) map[types.NamespacedName]struct{}
- type DefaultServiceLoader
- type FinalizerManager
- type GroupSettingsLoader
- type GroupStatusManager
- func (h *GroupStatusManager) AddBackendGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, bgID string) error
- func (h *GroupStatusManager) AddTargetGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, tgID string) error
- func (h *GroupStatusManager) DeleteStatus(ctx context.Context, name string) error
- func (h *GroupStatusManager) LoadOrCreateStatus(ctx context.Context, name string) (*v1alpha1.IngressGroupStatus, error)
- func (h *GroupStatusManager) LoadStatus(ctx context.Context, name string) (*v1alpha1.IngressGroupStatus, error)
- func (h *GroupStatusManager) RemoveBackendGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, bgID string) error
- func (h *GroupStatusManager) RemoveTargetGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, tgID string) error
- func (h *GroupStatusManager) SetBalancerResourcesIDs(ctx context.Context, status *v1alpha1.IngressGroupStatus, ...) error
- type IngressGroup
- type IngressLoader
- type Loader
- type NodeGroup
- type NodeLoader
- type ResourcesIDs
- type SecretManager
- type SecretsStore
- func (s *SecretsStore) Add(i interface{}) error
- func (s *SecretsStore) Delete(i interface{}) error
- func (s *SecretsStore) Get(obj interface{}) (item interface{}, exists bool, err error)
- func (s *SecretsStore) GetByKey(key string) (item interface{}, exists bool, err error)
- func (s *SecretsStore) List() []interface{}
- func (s *SecretsStore) ListKeys() []string
- func (s *SecretsStore) Replace(list []interface{}, resourceVersion string) error
- func (s *SecretsStore) Resync() error
- func (s *SecretsStore) Update(i interface{}) error
- type ServiceLoader
- type ServiceToReconcile
- type StatusUpdater
Constants ¶
View Source
const ( AlbTag = prefix + "/group-name" SecurityGroups = prefix + "/security-groups" SecurityProfileID = prefix + "/security-profile-id" Subnets = prefix + "/subnets" ExternalIPv4Address = prefix + "/external-ipv4-address" ExternalIPv6Address = prefix + "/external-ipv6-address" InternalIPv4Address = prefix + "/internal-ipv4-address" InternalALBSubnet = prefix + "/internal-alb-subnet" RequestTimeout = prefix + "/request-timeout" IdleTimeout = prefix + "/idle-timeout" PrefixRewrite = prefix + "/prefix-rewrite" UpgradeTypes = prefix + "/upgrade-types" AllowedMethods = prefix + "/allowed-methods" Protocol = prefix + "/protocol" TransportSecurity = prefix + "/transport-security" HealthChecks = prefix + "/health-checks" UseRegex = prefix + "/use-regex" OrderInGroup = prefix + "/group-order" BalancingMode = prefix + "/balancing-mode" SessionAffinityPrefix = prefix + "/session-affinity-" SessionAffinityHeader = SessionAffinityPrefix + "header" SessionAffinityCookie = SessionAffinityPrefix + "cookie" SessionAffinityConnection = SessionAffinityPrefix + "connection" GroupSettings = prefix + "/group-settings-name" ModifyResponseHeaderPrefix = prefix + "/modify-header-response-" ModifyResponseHeaderReplace = ModifyResponseHeaderPrefix + "replace" ModifyResponseHeaderAppend = ModifyResponseHeaderPrefix + "append" ModifyResponseHeaderRename = ModifyResponseHeaderPrefix + "rename" ModifyResponseHeaderRemove = ModifyResponseHeaderPrefix + "remove" DirectResponsePrefix = prefix + "/direct-response." RedirectPrefix = prefix + "/redirect." DefaultIngressClass = "ingressclass.kubernetes.io/is-default-class" PreferIPv6Targets = prefix + "/prefer-ipv6-targets" )
View Source
const CertIDPrefix = "yc-certmgr-cert-id-"
View Source
const (
ControllerName = "ingress.alb.yc.io/yc-alb-ingress-controller"
)
View Source
const (
Finalizer = "ingress.ya.ru/final"
)
Variables ¶
This section is empty.
Functions ¶
func GetBalancerTag ¶
func GetIngressGroupAnnotation ¶
func GetIngressGroupAnnotation(g *IngressGroup, annotation string) (string, error)
func HasBalancerTag ¶
func IsIngressManagedByThisController ¶
func IsIngressManagedByThisController(ing v1.Ingress, classes v1.IngressClassList) bool
func IsServiceManaged ¶
func IsServiceReferencedByIngress ¶
func IsServiceReferencedByIngress(svc v1.Service, ing networking.Ingress) bool
func IsTLS ¶
func IsTLS(host string, tls []networking.IngressTLS) bool
func NamespacedNameOf ¶
func NamespacedNameOf(object client.Object) types.NamespacedName
func ParseSecrets ¶
func ParseSecrets(ings []networking.Ingress) map[types.NamespacedName]struct{}
Types ¶
type DefaultServiceLoader ¶
func (*DefaultServiceLoader) Load ¶
func (l *DefaultServiceLoader) Load(ctx context.Context, name types.NamespacedName) (ServiceToReconcile, error)
type FinalizerManager ¶
func (*FinalizerManager) RemoveFinalizer ¶
func (*FinalizerManager) UpdateFinalizer ¶
type GroupSettingsLoader ¶
func (*GroupSettingsLoader) Load ¶
func (l *GroupSettingsLoader) Load(ctx context.Context, g *IngressGroup) (*v1alpha1.IngressGroupSettings, error)
type GroupStatusManager ¶
type GroupStatusManager struct {
// contains filtered or unexported fields
}
func NewGroupStatusManager ¶
func NewGroupStatusManager(cli client.Client) *GroupStatusManager
func (*GroupStatusManager) AddBackendGroupID ¶
func (h *GroupStatusManager) AddBackendGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, bgID string) error
func (*GroupStatusManager) AddTargetGroupID ¶
func (h *GroupStatusManager) AddTargetGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, tgID string) error
func (*GroupStatusManager) DeleteStatus ¶
func (h *GroupStatusManager) DeleteStatus(ctx context.Context, name string) error
func (*GroupStatusManager) LoadOrCreateStatus ¶
func (h *GroupStatusManager) LoadOrCreateStatus(ctx context.Context, name string) (*v1alpha1.IngressGroupStatus, error)
func (*GroupStatusManager) LoadStatus ¶
func (h *GroupStatusManager) LoadStatus(ctx context.Context, name string) (*v1alpha1.IngressGroupStatus, error)
func (*GroupStatusManager) RemoveBackendGroupID ¶
func (h *GroupStatusManager) RemoveBackendGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, bgID string) error
func (*GroupStatusManager) RemoveTargetGroupID ¶
func (h *GroupStatusManager) RemoveTargetGroupID(ctx context.Context, status *v1alpha1.IngressGroupStatus, tgID string) error
func (*GroupStatusManager) SetBalancerResourcesIDs ¶
func (h *GroupStatusManager) SetBalancerResourcesIDs(ctx context.Context, status *v1alpha1.IngressGroupStatus, resources ResourcesIDs) error
type IngressLoader ¶
type IngressLoader interface { List(ctx context.Context, opts ...client.ListOption) ([]networking.Ingress, error) ListBySvc(ctx context.Context, svc core.Service) ([]networking.Ingress, error) }
func NewIngressLoader ¶
func NewIngressLoader(cli client.Client) IngressLoader
type Loader ¶
type Loader struct {
// contains filtered or unexported fields
}
func NewGroupLoader ¶
func (*Loader) Load ¶
func (l *Loader) Load(ctx context.Context, nsName types.NamespacedName) (*IngressGroup, error)
type NodeLoader ¶
type NodeLoader struct {
// contains filtered or unexported fields
}
func NewNodeGroupLoader ¶
func NewNodeGroupLoader(cli client.Client) *NodeLoader
func (*NodeLoader) Load ¶
func (l *NodeLoader) Load() (*NodeGroup, error)
type ResourcesIDs ¶
type SecretManager ¶
type SecretManager interface {
ManageGroup(ctx context.Context, group *IngressGroup)
}
func NewSecretManager ¶
func NewSecretManager(clientSet kubernetes.Interface, secretEventChan chan<- event.GenericEvent) SecretManager
type SecretsStore ¶
type SecretsStore struct {
// contains filtered or unexported fields
}
func NewSecretsStore ¶
func NewSecretsStore(secretsEventChan chan<- event.GenericEvent, keyFunc cache.KeyFunc) *SecretsStore
func (*SecretsStore) Add ¶
func (s *SecretsStore) Add(i interface{}) error
func (*SecretsStore) Delete ¶
func (s *SecretsStore) Delete(i interface{}) error
func (*SecretsStore) Get ¶
func (s *SecretsStore) Get(obj interface{}) (item interface{}, exists bool, err error)
func (*SecretsStore) GetByKey ¶
func (s *SecretsStore) GetByKey(key string) (item interface{}, exists bool, err error)
func (*SecretsStore) List ¶
func (s *SecretsStore) List() []interface{}
func (*SecretsStore) ListKeys ¶
func (s *SecretsStore) ListKeys() []string
func (*SecretsStore) Replace ¶
func (s *SecretsStore) Replace(list []interface{}, resourceVersion string) error
func (*SecretsStore) Resync ¶
func (s *SecretsStore) Resync() error
func (*SecretsStore) Update ¶
func (s *SecretsStore) Update(i interface{}) error
type ServiceLoader ¶
type ServiceLoader interface {
Load(context.Context, types.NamespacedName) (ServiceToReconcile, error)
}
type ServiceToReconcile ¶
type StatusUpdater ¶
func (*StatusUpdater) SetIngressStatus ¶
func (e *StatusUpdater) SetIngressStatus(ing *networking.Ingress, status networking.IngressStatus) error
TODO: update only if needed
Click to show internal directories.
Click to hide internal directories.