Documentation ¶
Index ¶
- Constants
- Variables
- func UpdateInfoForIngress(ctx context.Context, caches *Caches, ing *v1alpha1.Ingress, ...) error
- type Caches
- func (caches *Caches) DeleteIngressInfo(_ context.Context, ingressName string, ingressNamespace string) error
- func (caches *Caches) SetOnEvicted(f func(types.NamespacedName, interface{}))
- func (caches *Caches) ToEnvoySnapshot(ctx context.Context) (*cache.Snapshot, error)
- func (caches *Caches) UpdateIngress(_ context.Context, ingressTranslation *translatedIngress) error
- type ClustersCache
- type IngressTranslator
Constants ¶
View Source
const ServiceStatsClusterName = "service_stats"
Variables ¶
View Source
var ErrDomainConflict = errors.New("ingress has a conflicting domain with another ingress")
ErrDomainConflict is an error produces when two ingresses have conflicting domains.
Functions ¶
func UpdateInfoForIngress ¶
func UpdateInfoForIngress(ctx context.Context, caches *Caches, ing *v1alpha1.Ingress, translator *IngressTranslator, extAuthzEnabled bool) error
UpdateInfoForIngress translates an Ingress into envoy configuration and updates the respective caches.
Types ¶
type Caches ¶
type Caches struct {
// contains filtered or unexported fields
}
func NewCaches ¶
func NewCaches(kubernetesClient kubeclient.Interface, extAuthz bool) (*Caches, error)
func (*Caches) DeleteIngressInfo ¶
func (caches *Caches) DeleteIngressInfo(_ context.Context, ingressName string, ingressNamespace string) error
DeleteIngressInfo removes an ingress from the caches.
Notice that the clusters are not deleted. That's handled with the expiration time set in the "ClustersCache" struct.
func (*Caches) SetOnEvicted ¶
func (caches *Caches) SetOnEvicted(f func(types.NamespacedName, interface{}))
SetOnEvicted allows to set a function that will be executed when any key on the cache expires.
func (*Caches) ToEnvoySnapshot ¶
type ClustersCache ¶
type ClustersCache struct {
// contains filtered or unexported fields
}
type IngressTranslator ¶
type IngressTranslator struct {
// contains filtered or unexported fields
}
func NewIngressTranslator ¶
func NewIngressTranslator( secretGetter func(ns, name string) (*corev1.Secret, error), nsConfigmapGetter func(label string) ([]*corev1.ConfigMap, error), endpointsGetter func(ns, name string) (*corev1.Endpoints, error), serviceGetter func(ns, name string) (*corev1.Service, error), tracker tracker.Interface) IngressTranslator
Click to show internal directories.
Click to hide internal directories.