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