Documentation ¶
Index ¶
- Variables
- func FilterIngresses(ingresses []*ingress.Ingress, filterFunc IngressFilterFunc) []*ingress.Ingress
- type ConfigMapLister
- type EndpointLister
- type Event
- type EventType
- type Informer
- type IngressFilterFunc
- type IngressLister
- type IngressWithAnnotationsLister
- type Lister
- type NotExistsError
- type ObjectRefMap
- type SSLCertTracker
- type SecretLister
- type ServiceLister
- type Storer
Constants ¶
This section is empty.
Variables ¶
var ErrSecretForAuth = fmt.Errorf("secret is used for authentication")
ErrSecretForAuth error to indicate a secret is used for authentication
Functions ¶
func FilterIngresses ¶
func FilterIngresses(ingresses []*ingress.Ingress, filterFunc IngressFilterFunc) []*ingress.Ingress
FilterIngresses returns the list of Ingresses
Types ¶
type ConfigMapLister ¶
ConfigMapLister makes a Store that lists Configmaps.
type EndpointLister ¶
EndpointLister makes a Store that lists Endpoints.
type Event ¶
type Event struct { Type EventType Obj interface{} }
Event holds the context of an event.
type EventType ¶
type EventType string
EventType type of event associated with an informer
const ( // CreateEvent event associated with new objects in an informer CreateEvent EventType = "CREATE" // UpdateEvent event associated with an object update in an informer UpdateEvent EventType = "UPDATE" // DeleteEvent event associated when an object is removed from an informer DeleteEvent EventType = "DELETE" // ConfigurationEvent event associated when a controller configuration object is created or updated ConfigurationEvent EventType = "CONFIGURATION" )
type Informer ¶
type Informer struct { Ingress cache.SharedIndexInformer Endpoint cache.SharedIndexInformer Service cache.SharedIndexInformer Secret cache.SharedIndexInformer ConfigMap cache.SharedIndexInformer }
Informer defines the required SharedIndexInformers that interact with the API server.
type IngressFilterFunc ¶
IngressFilterFunc decides if an Ingress should be omitted or not
type IngressLister ¶
IngressLister makes a Store that lists Ingress.
func (IngressLister) ByKey ¶
func (il IngressLister) ByKey(key string) (*networking.Ingress, error)
ByKey returns the Ingress matching key in the local Ingress Store.
type IngressWithAnnotationsLister ¶
IngressWithAnnotationsLister makes a Store that lists Ingress rules with annotations already parsed
type Lister ¶
type Lister struct { Ingress IngressLister Service ServiceLister Endpoint EndpointLister Secret SecretLister ConfigMap ConfigMapLister IngressWithAnnotation IngressWithAnnotationsLister }
Lister contains object listers (stores).
type NotExistsError ¶
type NotExistsError string
NotExistsError is returned when an object does not exist in a local store.
func (NotExistsError) Error ¶
func (e NotExistsError) Error() string
Error implements the error interface.
type ObjectRefMap ¶
type ObjectRefMap interface { Insert(consumer string, ref ...string) Delete(consumer string) Len() int Has(ref string) bool HasConsumer(consumer string) bool Reference(ref string) []string ReferencedBy(consumer string) []string }
ObjectRefMap is a map of references from object(s) to object (1:n). It is used to keep track of which data objects (Secrets) are used within Ingress objects.
func NewObjectRefMap ¶
func NewObjectRefMap() ObjectRefMap
NewObjectRefMap returns a new ObjectRefMap.
type SSLCertTracker ¶
type SSLCertTracker struct {
cache.ThreadSafeStore
}
SSLCertTracker holds a store of referenced Secrets in Ingress rules
func NewSSLCertTracker ¶
func NewSSLCertTracker() *SSLCertTracker
NewSSLCertTracker creates a new SSLCertTracker store
type SecretLister ¶
SecretLister makes a Store that lists Secrets.
type ServiceLister ¶
ServiceLister makes a Store that lists Services.
type Storer ¶
type Storer interface { // GetBackendConfiguration returns the nginx configuration stored in a configmap GetBackendConfiguration() ngx_config.Configuration // GetConfigMap returns the ConfigMap matching key. GetConfigMap(key string) (*corev1.ConfigMap, error) // GetSecret returns the Secret matching key. GetSecret(key string) (*corev1.Secret, error) // GetService returns the Service matching key. GetService(key string) (*corev1.Service, error) // GetServiceEndpoints returns the Endpoints of a Service matching key. GetServiceEndpoints(key string) (*corev1.Endpoints, error) // ListIngresses returns a list of all Ingresses in the store. ListIngresses() []*ingress.Ingress // GetLocalSSLCert returns the local copy of a SSLCert GetLocalSSLCert(name string) (*ingress.SSLCert, error) // ListLocalSSLCerts returns the list of local SSLCerts ListLocalSSLCerts() []*ingress.SSLCert // GetAuthCertificate resolves a given secret name into an SSL certificate. // The secret must contain 3 keys named: // ca.crt: contains the certificate chain used for authentication GetAuthCertificate(string) (*resolver.AuthSSLCert, error) // GetDefaultBackend returns the default backend configuration GetDefaultBackend() defaults.Backend // Run initiates the synchronization of the controllers Run(stopCh chan struct{}) }
Storer is the interface that wraps the required methods to gather information about ingresses, services, secrets and ingress annotations.