ingress

package
v0.10.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 9 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultSSLDirectory defines the location where the SSL certificates will be generated
	// This directory contains all the SSL certificates that are specified in Ingress rules.
	// The name of each file is <namespace>-<secret name>.pem. The content is the concatenated
	// certificate and key.
	DefaultSSLDirectory     = "/ingress-controller/ssl"
	DefaultCACertsDirectory = "/ingress-controller/cacerts"
	DefaultCrlDirectory     = "/ingress-controller/crl"
)

Functions

This section is empty.

Types

type BackendInfo

type BackendInfo struct {
	// Name returns the name of the backend implementation
	Name string `json:"name"`
	// Release returns the running version (semver)
	Release string `json:"release"`
	// Build returns information about the git commit
	Build string `json:"build"`
	// Repository return information about the git repository
	Repository string `json:"repository"`
}

BackendInfo returns information about the backend. This fields contains information that helps to track issues or to map the running ingress controller to source code

func (BackendInfo) String

func (bi BackendInfo) String() string

type Controller

type Controller interface {
	// HealthChecker returns is a named healthz check that returns the ingress
	// controller status
	healthz.HealthChecker
	// SyncIngress sync load balancer config from a very early stage
	SyncIngress(item interface{}) error
	// ConfigMap content of --configmap
	SetConfig(*apiv1.ConfigMap)
	// SetListers allows the access of store listers present in the generic controller
	// This avoid the use of the kubernetes client.
	SetListers(*StoreLister)
	// Info returns information about the ingress controller
	Info() *BackendInfo
	// AcmeCheck starts a certificate missing/expiring/outdated check
	AcmeCheck() (int, error)
	// ConfigureFlags allow to configure more flags before the parsing of
	// command line arguments
	ConfigureFlags(*pflag.FlagSet)
	// OverrideFlags allow the customization of the flags in the backend
	OverrideFlags(*pflag.FlagSet)
	// UpdateIngressStatus custom callback used to update the status in an Ingress rule
	// This allows custom implementations
	// If the function returns nil the standard functions will be executed.
	UpdateIngressStatus(*extensions.Ingress) []apiv1.LoadBalancerIngress
}

Controller holds the methods to handle an Ingress backend TODO (#18): Make sure this is sufficiently supportive of other backends.

type SSLCert

type SSLCert struct {
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Certificate       *x509.Certificate `json:"certificate,omitempty"`
	// CAFileName contains the path to the file with the root certificate
	CAFileName string `json:"caFileName"`
	// CRLFileName containst the path to the CA CRL file
	CRLFileName string `json:"crlFileName"`
	// PemFileName contains the path to the file with the certificate and key concatenated
	PemFileName string `json:"pemFileName"`
	// PemSHA contains the sha1 of the pem file.
	// This is used to detect changes in the secret that contains the certificates
	PemSHA string `json:"pemSha"`
	// CN contains all the common names defined in the SSL certificate
	CN []string `json:"cn"`
	// ExpiresTime contains the expiration of this SSL certificate in timestamp format
	ExpireTime time.Time `json:"expires"`
}

SSLCert describes a SSL certificate to be used in a server

type StoreLister

type StoreLister struct {
	Ingress   store.IngressLister
	Service   store.ServiceLister
	Node      store.NodeLister
	Endpoint  store.EndpointLister
	Secret    store.SecretLister
	ConfigMap store.ConfigMapLister
	Pod       store.PodLister
}

StoreLister returns the configured stores for ingresses, services, endpoints, secrets and configmaps.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL