github.com/cilium/cilium@v1.16.2/operator/pkg/ingress/doc.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 // Package ingress contains all the logic for Cilium Ingress Controller. 5 // Only Ingress resources having annotations."kubernetes.io/ingress.class" 6 // or spec.ingressClassName set to "cilium" are managed and processed by the 7 // Cilium Ingress Controller. 8 // 9 // Two LB modes are supported: 10 // - dedicated LB mode: a dedicated LB is used for each Ingress. 11 // - shared LB mode: all eligible Ingresses are using the same LB. 12 // 13 // Each LB mode will have its own translation logic, which converts Ingress 14 // resource(s) into internal representation, and then turns it into a set of 15 // Cilium configurations (e.g. CiliumEnvoyConfig, LB Service, Endpoints etc.). 16 // - Create one Load Balancer service, the external IP/FQDN is available will 17 // bubble up to Ingress status once ready. (dedicated LB mode only) 18 // - Create dummy Endpoint for above LB service. (dedicated LB mode only) 19 // - Create CiliumEnvoyConfig with all routing details. (both modes) 20 // 21 // There is a small secret sync component, which will watch all tls ingress secrets 22 // and sync them to another give namespace. This is to limit the permission during 23 // runtime in all nodes. 24 package ingress