diff --git a/modules/nw-ingress-label-propagation-about.adoc b/modules/nw-ingress-label-propagation-about.adoc new file mode 100644 index 000000000000..682a02fee29b --- /dev/null +++ b/modules/nw-ingress-label-propagation-about.adoc @@ -0,0 +1,27 @@ +// Module included in the following assemblies: +// +// * networking/routes/creating-basic-routes.adoc + +:_mod-docs-content-type: CONCEPT +[id="networking-ingress-label-propagation-about_{context}"] += About label propagation from Ingress to Route resources + +By default, the managed `Route` object described in the previous section does not inherit labels from the `Ingress` resource. + +You can opt-in to a feature that enables the Ingress Operator to automatically propagate labels. When enabled, the operator actively reconciles the labels on the generated `Route` resource to match the labels on the parent `Ingress` resource. This is useful for adding metadata that helps you track or manage resources, or to control specific behaviors that depend on labels. + +[NOTE] +==== +When label propagation is enabled, the Ingress Operator replaces all labels on the managed `Route` resource with the exact set of labels from the parent `Ingress` resource. Any labels that were manually added to the `Route` resource are removed. +==== + +.Understanding the label reconciliation lifecycle +The propagation behavior is controlled by the `route.openshift.io/reconcile-labels` annotation on the `Ingress` resource. The operator's behavior changes depending on the state of this annotation: + +* Annotation not present (default): The operator does not sync labels from the `Ingress` resource to the `Route` resource. Any existing labels on the `Route` are preserved. + +* Annotation enabled (`route.openshift.io/reconcile-labels: "true"`): The operator enables label propagation. On the next reconciliation (triggered by the `Ingress` create or update event), the operator replaces all labels on the generated `Route` resource with the labels from the `Ingress` resource. + +* Annotation disabled (removed or value set to non-"true"): The operator disables label propagation. The labels that currently exist on the `Route` resource are kept as-is, but the operator no longer syncs them with the `Ingress` resource. + +* Annotation re-enabled: The operator resumes propagation. It will again replace all labels on the `Route` resource with the current labels from the `Ingress` resource. \ No newline at end of file diff --git a/modules/nw-ingress-label-propagation-enabling.adoc b/modules/nw-ingress-label-propagation-enabling.adoc new file mode 100644 index 000000000000..45b9283c3a01 --- /dev/null +++ b/modules/nw-ingress-label-propagation-enabling.adoc @@ -0,0 +1,81 @@ +// Module included in the following assemblies: +// +// * networking/routes/creating-basic-routes.adoc + +:_mod-docs-content-type: PROCEDURE +[id="networking-ingress-label-propagation-enabling_{context}"] += Enabling label propagation from Ingress to Route resources + +You can enable the Ingress Operator to automatically propagate labels from an `Ingress` resource to the `Route` resource it manages. + +.Prerequisites +* You have access to an OpenShift Container Platform cluster. +* You have the `cluster-admin` role or permissions to create and edit `Ingress` resources in a project. +.Procedure +To enable label propagation, you must add the `route.openshift.io/reconcile-labels: "true"` annotation to your `Ingress` resource.. Create or edit an `Ingress` resource manifest.. In the `metadata.annotations` section, add `route.openshift.io/reconcile-labels: "true"`.. In the `metadata.labels` section, add the labels you want to propagate. ++ +.Example `Ingress` resource with label propagation enabled +[source,yaml] +---- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: example-ingress + annotations: + route.openshift.io/reconcile-labels: "true" <1> + labels: + app: my-app + owner: dev-team <2> +spec: + rules: + + host: example.com + + http: + paths: + + path: / + + pathType: Prefix + backend: + service: + name: example-service + port: + number: 8080 +---- +<1> The annotation that enables label propagation. +<2> These labels (`app: my-app` and `owner: dev-team`) will be propagated to the generated `Route` resource.. Apply the manifest to your cluster: ++ +[source,terminal] +---- +$ oc apply -f +----.Verification. Confirm that the labels exist on your `Ingress` resource: ++ +[source,terminal] +---- +$ oc get ingress example-ingress --show-labels +---- ++ +.Example output +[source,text] +---- +NAME CLASS HOSTS ADDRESS PORTS AGE LABELS +example-ingress example.com 80 1m app=my-app,owner=dev-team +----. Find the name of the `Route` resource generated by the Ingress Operator: ++ +[source,terminal] +---- +$ oc get route +----. Confirm that the same labels have been propagated to the `Route` resource: ++ +[source,terminal] +---- +$ oc get route --show-labels +---- ++ +.Example output +[source,text] +---- +NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD LABELS + example.com / example-service 8080 None app=my-app,owner=dev-team +---- \ No newline at end of file diff --git a/networking/ingress_load_balancing/routes/creating-basic-routes.adoc b/networking/ingress_load_balancing/routes/creating-basic-routes.adoc index 977f782927d6..9361a57d90e6 100644 --- a/networking/ingress_load_balancing/routes/creating-basic-routes.adoc +++ b/networking/ingress_load_balancing/routes/creating-basic-routes.adoc @@ -20,4 +20,10 @@ include::modules/nw-ingress-sharding-route-configuration.adoc[leveloffset=+1] // Creating a route via an Ingress include::modules/nw-ingress-creating-a-route-via-an-ingress.adoc[leveloffset=+1] -endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[] \ No newline at end of file +endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[] + +//About label propogation +include::modules/nw-ingress-label-propagation-about.adoc[leveloffset=+1] + +//Enabling label propogation +include::modules/nw-ingress-label-propagation-enabling.adoc[leveloffset=+1] \ No newline at end of file diff --git a/networking/networking_operators/external_dns_operator/external-dns-operator-release-notes.adoc b/networking/networking_operators/external_dns_operator/external-dns-operator-release-notes.adoc index 30ec581c9891..b434ca687867 100644 --- a/networking/networking_operators/external_dns_operator/external-dns-operator-release-notes.adoc +++ b/networking/networking_operators/external_dns_operator/external-dns-operator-release-notes.adoc @@ -15,13 +15,6 @@ The External DNS Operator is only supported on the `x86_64` architecture. These release notes track the development of the External DNS Operator in {product-title}. -[id="external-dns-operator-release-notes-1.3.2"] -== External DNS Operator 1.3.2 - -The following advisory is available for the External DNS Operator version 1.3.2: - -* link:https://access.redhat.com/errata/RHEA-2025:22454[RHEA-2025:22454 Product Enhancement Advisory] - [id="external-dns-operator-release-notes-1.3.1"] == External DNS Operator 1.3.1