Documentation ¶
Overview ¶
Package ingress implements Ingress controller functions
Index ¶
- Constants
- func NewIngressController(mgr ctrl.Manager, pcr pomerium.IngressReconciler, opts ...Option) error
- type Option
- func WithAnnotationPrefix(prefix string) Option
- func WithControllerName(name string) Option
- func WithGlobalSettings(name types.NamespacedName) Option
- func WithIngressStatusReporter(reporters ...reporter.IngressStatusReporter) Option
- func WithNamespaces(ns []string) Option
- func WithUpdateIngressStatusFromService(name types.NamespacedName) Option
- func WithWatchSettings(name types.NamespacedName) Option
Constants ¶
const ( // DefaultAnnotationPrefix defines prefix that would be watched for Ingress annotations DefaultAnnotationPrefix = "ingress.pomerium.io" // DefaultClassControllerName is controller name DefaultClassControllerName = "pomerium.io/ingress-controller" )
const ( // IngressClassAnnotationKey although deprecated, still may be used by the HTTP solvers even for v1 Ingress resources // see https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#deprecating-the-ingress-class-annotation IngressClassAnnotationKey = "kubernetes.io/ingress.class" // IngressClassDefaultAnnotationKey see https://kubernetes.io/docs/concepts/services-networking/ingress/#default-ingress-class IngressClassDefaultAnnotationKey = "ingressclass.kubernetes.io/is-default-class" )
Variables ¶
This section is empty.
Functions ¶
func NewIngressController ¶
func NewIngressController( mgr ctrl.Manager, pcr pomerium.IngressReconciler, opts ...Option, ) error
NewIngressController creates new controller runtime
Types ¶
type Option ¶
type Option func(ic *ingressController)
Option customizes ingress controller
func WithAnnotationPrefix ¶
WithAnnotationPrefix makes ingress controller watch annotation with custom prefix
func WithControllerName ¶
WithControllerName changes default ingress controller name
func WithGlobalSettings ¶
func WithGlobalSettings(name types.NamespacedName) Option
WithGlobalSettings makes ingress controller set up and report
func WithIngressStatusReporter ¶
func WithIngressStatusReporter(reporters ...reporter.IngressStatusReporter) Option
WithIngressStatusReporter adds ingress status reporting option, multiple may be added
func WithNamespaces ¶
WithNamespaces requires ingress controller to only monitor specific namespaces
func WithUpdateIngressStatusFromService ¶
func WithUpdateIngressStatusFromService(name types.NamespacedName) Option
WithUpdateIngressStatusFromService configures ingress controller to watch a designated service (pomerium proxy) for its load balancer status, and update all managed ingresses accordingly
func WithWatchSettings ¶
func WithWatchSettings(name types.NamespacedName) Option
WithWatchSettings specifies which global settings to watch