sigs.k8s.io/external-dns@v0.14.1/docs/sources/ingress.md (about)

     1  # Ingress source
     2  
     3  The ingress source creates DNS entries based on `Ingress.networking.k8s.io` resources.
     4  
     5  ## Filtering the Ingresses considered
     6  
     7  The `--ingress-class` flag filters Ingress resources by a set of ingress classes.
     8  The flag may be specified multiple times in order to
     9  allow multiple ingress classes.
    10  
    11  This source supports the `--label-filter` flag, which filters Ingress resources
    12  by a set of labels.
    13  
    14  ## Domain names
    15  
    16  The domain names of the DNS entries created from an Ingress are sourced from the following places:
    17  
    18  1. Iterates over the Ingress's `spec.rules`, adding any non-empty `host`.
    19  
    20    This behavior is suppressed if the `--ignore-ingress-rules-spec` flag was specified
    21  or the Ingress had an
    22  `external-dns.alpha.kubernetes.io/ingress-hostname-source: annotation-only` annotation. 
    23  
    24  2. Iterates over the Ingress's `spec.tls`, adding each member of `hosts`.
    25  
    26    This behavior is suppressed if the `--ignore-ingress-tls-spec` flag was specified
    27  or the Ingress had an
    28  `external-dns.alpha.kubernetes.io/ingress-hostname-source: annotation-only` annotation, 
    29  
    30  3. Adds the hostnames from any `external-dns.alpha.kubernetes.io/hostname` annotation.
    31  
    32    This behavior is suppressed if the `--ignore-hostname-annotation` flag was specified
    33  or the Ingress had an
    34  `external-dns.alpha.kubernetes.io/ingress-hostname-source: defined-hosts-only` annotation.
    35  
    36  4. If no DNS entries were produced for an Ingress by the previous steps
    37  or the `--combine-fqdn-annotation` flag was specified, then adds hostnames
    38  generated from any`--fqdn-template` flag.
    39  
    40  ## Targets
    41  
    42  The targets of the DNS entries created from an Ingress are sourced from the following places:
    43  
    44  1. If the Ingress has an `external-dns.alpha.kubernetes.io/target` annotation, uses 
    45  the values from that. 
    46  
    47  2. Otherwise, iterates over the Ingress's `status.loadBalancer.ingress`, 
    48  adding each non-empty `ip` and `hostname`.