diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 000000000000..3cb7ba119b79
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1 @@
+@bobfuru @stevsmit @adellape @sjhala-ccs
diff --git a/.gitignore b/.gitignore
index dfa7ce428c38..050e00a4a0bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,12 @@ architecture/core_concepts/images/docker-diagram.png.cache
dev_guide/builds/images/chained-build.png
dev_guide/builds/images/chained-build.png.cache
.DS_Store
+.idea
.venv
.gem
bin
commercial_package
+.vscode
+.vale/styles/AsciiDoc
+.vale/styles/OpenShiftAsciiDoc
+.vale/styles/RedHat
diff --git a/.s2i/httpd-cfg/01-commercial.conf b/.s2i/httpd-cfg/01-commercial.conf
index 85dd44991ee4..753ef3e1ed78 100644
--- a/.s2i/httpd-cfg/01-commercial.conf
+++ b/.s2i/httpd-cfg/01-commercial.conf
@@ -123,22 +123,629 @@ AddType text/vtt vtt
RewriteEngine On
RewriteBase /
- # Rules have NE added to the end in order to preserve either explicit or implicit # anchor tags
+ # Rules have NE added to the end to preserve either explicit or implicit # anchor tags
+
+ # Redirect 4.0 to 4.1
+ RewriteRule ^(container-platform)/4.0/?(.*)$ /container-platform/4\.1/$2 [NE,R=301]
+
+ # Redirect ARO non versioned docs to go to version 3 docs
+ RewriteRule ^(aro)/(?!3/|4/)(.*)$ /aro/3/$2 [NE,R=301]
+
+ # Redirect ROSA version 4 docs to go to non versioned docs
+ RewriteRule ^rosa/4/?$ /rosa/welcome/index.html [L,R=301]
+ RewriteRule ^rosa/4/(.*)$ /rosa/$1 [NE,R=301]
+
+ # ACS Redirects to go to the latest version - change here when a new version drops
+ # it should probably be best to combine the next few lines in one reg exp but for clarity keeping them separate
+ # the first one redirects
+ RewriteRule ^acs/?$ /acs/4.5/welcome/index.html [R=301]
+ # redirect to the latest release notes
+ RewriteRule ^acs/release_notes/?$ /acs/4.5/release_notes/45-release-notes.html [R=301,NE]
+ # redirect from ACS CLoud Service page
+ RewriteRule ^acs/installing/install-ocp-operator.html /acs/4.5/installing/installing_ocp/init-bundle-ocp.html [NE,R=301]
+ RewriteRule ^acs/(\D.*)$ /acs/4.5/$1 [NE,R=301]
+ RewriteRule ^acs/(3\.65|3\.66|3\.67|3\.68|3\.69|3\.70|3\.71|3\.72|3\.73|3\.74|4\.0|4\.1|4\.2|4\.3|4\.4|4\.5)/?$ /acs/$1/welcome/index.html [L,R=301]
+ #redirect for 4.0 Manage vulneribility page
+ RewriteRule ^(acs/(?:4\.0/)?)?operating/manage-vulnerabilities\.html$ /acs/4.0/operating/manage-vulnerabilities/vulnerability-management.html [NE,R=301]
+ #redirect for missing 4.3 page
+ RewriteRule ^(acs/(?:4\.3/)?)?installing/acs-installation-platforms\.html$ /acs/4.3/installing/acs-high-level-overview.html [NE,R=301]
+ #redirects for 4.4 pages in ACS GUI per ROX-23005
+ RewriteRule ^(acs/(?:4\.4/)?)?installing/acs-installation-platforms\.html$ /acs/4.4/installing/acs-high-level-overview.html [NE,R=301]
+ #redirect Architecture page for ACS Cloud into Cloud directory
+ RewriteRule ^acs/(4\.4)/architecture/acscs-architecture\.html$ /acs/latest/cloud_service/acscs-architecture.html [NE,R=302]
+ #redirect Managing compliance and Compliance Operator pages as per https://github.com/openshift/openshift-docs/pull/78035
+ RewriteRule ^acs/(4\.5)/operating/manage-compliance-operator/compliance-operator-rhacs\.html$ /acs/latest/operating/compliance-operator-rhacs.html [NE,R=302]
+
+ #remove aro docs to just the welcome page
+ RewriteRule aro/4/(?!welcome)(.*)?$ /container-platform/latest/$1 [L,R=301]
# Redirects for "latest" version
RewriteRule ^(container-platform|enterprise)/?$ /container-platform/latest [R=301]
- RewriteRule ^(container-platform|enterprise)/latest/?(.*)$ /container-platform/3.9/$2 [NE,R=301]
- RewriteRule ^(dedicated|online)/(3\.0|3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7|3\.9|latest)/?(.*)$ /$1/$3 [NE,R=301]
+ RewriteRule ^(container-platform|enterprise)/latest/?(.*)$ /container-platform/4\.17/$2 [NE,R=301]
+ RewriteRule ^(online)/(3\.0|3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7|3\.9|3\.10|3\.11|latest)/?(.*)$ /$1/pro/$3 [NE,R=301]
+
+ # Release notes redirects
+ RewriteRule ^container-platform\/4\.(.+)\/release_notes\/ocp-4-((?!\1).+)-release-notes.html /container-platform/4.$1/release_notes/ocp-4-$1-release-notes.html [NE,R=301]
+ RewriteRule ^container-platform\/3\.(.+)\/release_notes\/ocp_3_((?!\1).+)_release_notes.html /container-platform/3.$1/release_notes/ocp_3_$1_release_notes.html [NE,R=301]
+
+ # Redirects for the Updating book
+ RewriteRule ^container-platform/(4\.8|4\.9)/updating/installing-update-service.html /container-platform/$1/updating/updating-restricted-network-cluster.html [NE,R=301]
+ RewriteRule ^container-platform/(4\.8|4\.9)/updating/understanding-the-update-service.html /container-platform/$1/updating/updating-restricted-network-cluster.html [NE,R=301]
+
+ # Redirect for renamed external DNS page
+ RewriteRule ^container-platform/4\.10/networking/external_dns_operator/nw-installing-external-dns-operator.html /container-platform/4.10/networking/external_dns_operator/nw-installing-external-dns-operator-on-cloud-providers.html [NE,R=301]
+
+ # Redirect for renamed Ingress Controller document
+ RewriteRule ^container-platform/(4\.1[2-6])/networking/nw-ingress-controller-endpoint-publishing-strategies\.html$ /container-platform/$1/networking/nw-configuring-ingress-controller-endpoint-publishing-strategy.html [NE,R=302,L]
+
+ # Redirect for cluster logging per Ashleigh Brennan
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13)/logging/troubleshooting/cluster-logging-must-gather.html /container-platform/$1/logging/cluster-logging-support.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13)/logging/config/cluster-logging-maintenance-support.html /container-platform/$1/logging/cluster-logging-support.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14)/logging/config/cluster-logging-tolerations.html /container-platform/$1/logging/scheduling_resources/logging-taints-tolerations.html [NE,R=302]
+ RewriteRule ^(rosa|dedicated)/logging/config/cluster-logging-tolerations.html /$1/logging/scheduling_resources/logging-taints-tolerations.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14)/logging/config/cluster-logging-moving-nodes.html /container-platform/$1/logging/scheduling_resources/logging-node-selectors.html [NE,R=302]
+ RewriteRule ^(rosa|dedicated)/logging/config/cluster-logging-moving-nodes.html /$1/logging/scheduling_resources/logging-node-selectors.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14)/logging/config/cluster-logging-log-store.html /container-platform/$1/logging/log_storage/logging-config-es-store.html [NE,R=302]
+
+ # Consolidated redirects for observability, monitoring, logging, and network observability
+
+ # Generic rule for moving sections under observability
+ RewriteRule ^container-platform/(4\.1[2-5]|latest)/(logging|monitoring|distr_tracing|otel|network_observability)/?(.*)$ /container-platform/$1/observability/$2/$3 [NE,R=302]
+
+ # Generic rule for ROSA and OpenShift Dedicated
+ RewriteRule ^(rosa|dedicated)/(logging|monitoring)/?(.*)$ /$1/observability/$2/$3 [NE,R=302]
+
+ # Specific rules for Cluster Observability Operator
+ RewriteRule ^container-platform/(4\.1[2-5]|latest)/monitoring/cluster_observability_operator/(.*)$ /container-platform/$1/observability/cluster_observability_operator/$2 [NE,R=302]
+
+ # Specific redirects for distributed tracing and OpenTelemetry
+ RewriteRule ^container-platform/(4\.1[2-5]|latest)/distr_tracing/distr_tracing_rn/distr-tracing-rn-?(.*)$ /container-platform/$1/observability/distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.1[2-5]|latest)/otel/otel_rn/otel-rn-?(.*)$ /container-platform/$1/observability/otel/otel_rn/otel-rn-past-releases.html [NE,R=302]
+
+ # Specific redirects for older versions and special cases
+ RewriteRule ^container-platform/(4\.13|latest)/distr_tracing/distr_tracing_otel/distr-tracing-otel-installing.html /container-platform/$1/observability/otel/otel-installing.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.13|latest)/distr_tracing/distr_tracing_install/distr-tracing-deploying-otel.html /container-platform/$1/observability/otel/otel-installing.html [NE,R=302]
+ RewriteRule ^container-platform/4.9/distr_tracing/distributed-tracing-release-notes.html /container-platform/latest/observability/distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.html [NE,R=302]
+ RewriteRule ^container-platform/4.9/distr_tracing/distr_tracing_install/distr-tracing-installing.html /container-platform/latest/observability/distr_tracing/distr_tracing_tempo/distr-tracing-tempo-installing.html [NE,R=302]
+
+ # Redirects for log collection forwarding (for versions 4.11 to 4.13 and latest)
+ RewriteRule ^container-platform/(4\.1[1-3]|latest)/logging/(.*)$ /container-platform/$1/logging/log_collection_forwarding/$2 [NE,R=302]
+
+ # Redirect for power monitoring (specific to 4.14 and latest)
+ RewriteRule ^container-platform/(4\.14|latest)/power_monitoring/(.*)$ /container-platform/$1/observability/power_monitoring/$2 [NE,R=302,L]
+
+ # Redirects for Telco ZTP changes delivered in https://github.com/openshift/openshift-docs/pull/35889
+ RewriteRule ^container-platform/(4\.10|4\.11)/scalability_and_performance/ztp-deploying-disconnected.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-deploying-far-edge-clusters-at-scale.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11)/scalability_and_performance/ztp-configuring-single-node-cluster-deployment-during-installation.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-manual-install.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11)/scalability_and_performance/ztp-vdu-validating-cluster-tuning.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-vdu-validating-cluster-tuning.html [NE,R=302]
+
+ # Redirect for low latency tuning changes delivered in https://github.com/openshift/openshift-docs/pull/47965
+ RewriteRule ^container-platform/(4\.11|4\.12)/scalability_and_performance/cnf-performance-addon-operator-for-low-latency-nodes.html /container-platform/$1/scalability_and_performance/cnf-low-latency-tuning.html [NE,R=302]
+
+ # Redirects for refactored low latency tuning pages delivered in https://github.com/openshift/openshift-docs/pull/71797
+ RewriteRule ^container-platform/(4\.14|4\.15|4\.16)/scalability_and_performance/cnf-low-latency-tuning.html /container-platform/$1/scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.14|4\.15|4\.16)/scalability_and_performance/cnf-create-performance-profiles.html /container-platform/$1/scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.html [NE,R=302]
+
+ # Reverse redirects for refactored low latency tuning pages delivered in https://github.com/openshift/openshift-docs/pull/71797
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/low_latency_tuning/cnf-understanding-low-latency.html /container-platform/$1/scalability_and_performance/cnf-low-latency-tuning.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/low_latency_tuning/cnf-tuning-low-latency-nodes-with-perf-profile.html /container-platform/$1/scalability_and_performance/cnf-low-latency-tuning.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/low_latency_tuning/cnf-provisioning-low-latency-workloads.html /container-platform/$1/scalability_and_performance/cnf-low-latency-tuning.html [NE,R=302]
+
+ #Install redirects per https://github.com/openshift/openshift-docs/pull/79711
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/installing/index.html /container-platform/$1/installing/overview/index.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/installing/installing-preparing.html /container-platform/$1/installing/overview/installing-preparing.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/installing/cluster-capabilities.html /container-platform/$1/installing/overview/cluster-capabilities.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/installing/installing-fips.html /container-platform/$1/installing/overview/installing-fips.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/installing/validating-an-installation.html /container-platform/$1/installing/validation_and_troubleshooting/validating-an-installation.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/installing/installing-troubleshooting.html /container-platform/$1/installing/validation_and_troubleshooting/installing-troubleshooting.html [NE,R=302]
+
+
+ # ingress sharding redirect per https://github.com/openshift/openshift-docs/pull/76916
+ RewriteRule ^container-platform/(4\.1[2-6]|latest)/networking/ingress-sharding.html /container-platform/$1/networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-ingress-controller.html [NE,R=302]
+
+ # Redirects for new ZTP edge computing section
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/cnf-talm-for-cluster-upgrades.html /container-platform/$1/edge_computing/cnf-talm-for-cluster-upgrades.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-advanced-install-ztp.html /container-platform/$1/edge_computing/ztp-advanced-install-ztp.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-advanced-policy-config.html /container-platform/$1/edge_computing/ztp-advanced-policy-config.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-configuring-managed-clusters-policies.html /container-platform/$1/edge_computing/ztp-configuring-managed-clusters-policies.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-deploying-far-edge-clusters-at-scale.html /container-platform/$1/edge_computing/ztp-deploying-far-edge-clusters-at-scale.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-deploying-far-edge-sites.html /container-platform/$1/edge_computing/ztp-deploying-far-edge-sites.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-manual-install.html /container-platform/$1/edge_computing/ztp-manual-install.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-precaching-tool.html /container-platform/$1/edge_computing/ztp-precaching-tool.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-preparing-the-hub-cluster.html /container-platform/$1/edge_computing/ztp-preparing-the-hub-cluster.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.html /container-platform/$1/edge_computing/ztp-reference-cluster-configuration-for-vdu.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-sno-additional-worker-node.html /container-platform/$1/edge_computing/ztp-sno-additional-worker-node.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-talm-updating-managed-policies.html /container-platform/$1/edge_computing/ztp-talm-updating-managed-policies.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-updating-gitops.html /container-platform/$1/edge_computing/ztp-updating-gitops.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.15|4\.16)/scalability_and_performance/ztp_far_edge/ztp-vdu-validating-cluster-tuning.html /container-platform/$1/edge_computing/ztp-vdu-validating-cluster-tuning.html [NE,R=302]
+
+ # Reverse redirects for new ZTP edge computing section
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/cnf-talm-for-cluster-upgrades.html /container-platform/$1/scalability_and_performance/ztp_far_edge/cnf-talm-for-cluster-upgrades.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-advanced-install-ztp.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-advanced-install-ztp.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-advanced-policy-config.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-advanced-policy-config.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-configuring-managed-clusters-policies.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-configuring-managed-clusters-policies.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-deploying-far-edge-clusters-at-scale.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-deploying-far-edge-clusters-at-scale.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-deploying-far-edge-sites.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-deploying-far-edge-sites.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-manual-install.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-manual-install.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-precaching-tool.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-precaching-tool.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-preparing-the-hub-cluster.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-preparing-the-hub-cluster.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-reference-cluster-configuration-for-vdu.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-sno-additional-worker-node.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-sno-additional-worker-node.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-talm-updating-managed-policies.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-talm-updating-managed-policies.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-updating-gitops.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-updating-gitops.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13|4\.14)/edge_computing/ztp-vdu-validating-cluster-tuning.html /container-platform/$1/scalability_and_performance/ztp_far_edge/ztp-vdu-validating-cluster-tuning.html [NE,R=302]
+
+ # redirect for scalability and performance per Shane Lovern 7/19
+ RewriteRule ^container-platform/4\.13/scalability_and_performance/sno-du-enabling-workload-partitioning-on-single-node-openshift.html /container-platform/4.13/scalability_and_performance/enabling-workload-partitioning.html [NE,R=302]
+
+ # redirect for eus-to-eus update renaming to control-plane only update
+ RewriteRule ^container-platform/(4\.14|4\.15|4\.16|4\.17)/updating/updating_a_cluster/eus-eus-update.html /container-platform/$1/updating/updating_a_cluster/control-plane-only-update.html [NE,R=302]
+
+ # CNV scenarios based redirect
+ RewriteRule ^container-platform/4\.8/virt/learn_more_about_ov.html /container-platform/4.8/virt/virt-learn-more-about-openshift-virtualization.html [NE,R=301]
+
+ # https://github.com/openshift/openshift-docs/pull/59378 Scalability reorg 5/11/2023
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/optimizing-storage.html /container-platform/$1/scalability_and_performance/optimization/optimizing-storage.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/routing-optimization.html /container-platform/$1/scalability_and_performance/optimization/routing-optimization.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/optimizing-networking.html /container-platform/$1/scalability_and_performance/optimization/optimizing-networking.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/optimizing-cpu-usage.html /container-platform/$1/scalability_and_performance/optimization/optimizing-cpu-usage.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.12|4\.13)/scalability_and_performance/scaling-cluster-monitoring-operator.html /container-platform/$1/scalability_and_performance/recommended-performance-scale-practices/recommended-infrastructure-practices.html [NE,R=302]
+
+ # Requested by Avital Pinnick 5/11/2023
+ RewriteRule ^container-platform/4\.13/virt/logging_events_monitoring/?(.*)$ /container-platform/4.13/virt/support/$1 [NE,R=302]
+
+ # PR https://github.com/openshift/openshift-docs/pull/35208/files for oc-compliance plugin
+ RewriteRule ^container-platform/4\.8/security/oc_compliance_plug_in/oc-compliance-plug-in-using.html /container-platform/4.8/security/compliance_operator/oc-compliance-plug-in-using.html [NE,R=301]
+
+ # Serverless restructuring
+ RewriteRule ^container-platform/(4\.9|4\.10|4\.11|4\.12)/serverless/discover/about-serverless.html /container-platform/$1/serverless/about/about-serverless.html [NE,R=302]
+
+ RewriteRule ^container-platform/(4\.9|4\.10|4\.11|4\.12)/serverless/develop/serverless-pingsource.html /container-platform/$1/serverless/eventing/event-sources/serverless-pingsource.html [NE,R=302]
+ RewriteRule ^container-platform/(4\.9|4\.10|4\.11|4\.12)/serverless/develop/serverless-traffic-management.html /container-platform/$1/serverless/knative-serving/traffic-splitting/traffic-splitting-overview.html [NE,R=302]
+
+
+ # redirect latest to 1.34
+ RewriteRule ^serverless/?$ /serverless/latest [R=302]
+ RewriteRule ^serverless/latest/?(.*)$ /serverless/1\.34/$1 [NE,R=302]
+
+ # redirect top-level without filespec to the about file
+ RewriteRule ^serverless/(1\.28|1\.29|1\.30|1\.31|1\.32|1\.33|1\.34)/?$ /serverless/$1/about/about-serverless.html [L,R=302]
+
+ # redirect rel notes
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17)/serverless/serverless-release-notes.html$ /serverless/1.34/about/serverless-release-notes.html [L,R=302]
+ RewriteRule ^(rosa|dedicated)/serverless/serverless-release-notes.html$ /serverless/1.34/about/serverless-release-notes.html [L,R=302]
+
+ # redirect any links to existing OCP embedded content to standalone equivalent
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/serverless/?(.*)$ /serverless/1.34/$2 [L,R=302]
+
+ # redirect any links to existing ROSA/Dedicated embedded content to standalone equivalent
+ RewriteRule ^(rosa|dedicated)/serverless/?(.*)$ /serverless/1.34/$2 [L,R=302]
+
+ # redirect builds latest to 1.1
+ RewriteRule ^builds/?$ /builds/latest [R=302]
+ RewriteRule ^builds/latest/?(.*)$ /builds/1.1/$1 [NE,R=302]
+
+ # redirect top-level without filespec to the about file
+ RewriteRule ^builds/(1\.0|1\.1)/?$ /builds/$1/about/overview-openshift-builds.html [L,R=302]
+
+ # Builds using Shipwright landing page
+ RewriteRule ^container-platform/(4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/builds_using_shipwright/overview-openshift-builds.html /builds/latest/about/overview-openshift-builds.html [L,R=302]
+
+ # redirect gitops latest to 1.14
+ RewriteRule ^gitops/?$ /gitops/latest [R=302]
+ RewriteRule ^gitops/latest/?(.*)$ /gitops/1\.14/$1 [NE,R=302]
+
+ # redirect top-level without filespec to the about file
+ RewriteRule ^gitops/(1\.8|1\.9|1\.10|1\.11|1\.12|1\.13|1\.14)/?$ /gitops/$1/understanding_openshift_gitops/about-redhat-openshift-gitops.html [L,R=302]
+
+ # GitOps landing page
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/about-redhat-openshift-gitops.html /gitops/latest/understanding_openshift_gitops/about-redhat-openshift-gitops.html [L,R=302]
+
+ # GitOps release notes version switch
+
+ RewriteRule ^gitops/1\.(8|9|10|11|12|13)/release_notes/gitops-release-notes-1-([0-9]+)\.html$ gitops/1.$1/release_notes/gitops-release-notes.html [L,R=302]
+ RewriteRule ^gitops/1\.14/release_notes/gitops-release-notes-1-14\.html$ - [L]
+ RewriteRule ^gitops/1\.15/release_notes/gitops-release-notes-1-15\.html$ - [L]
+ RewriteRule ^gitops/1\.(14|15)/release_notes/gitops-release-notes?(.*)\.html$ gitops/1.$1/release_notes/gitops-release-notes-1-$1.html [L,R=302]
+
+ # redirect any links to existing OCP embedded content to standalone equivalent for each assembly
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/gitops-release-notes.html/ /gitops/latest/release_notes/gitops-release-notes-1-14.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/understanding-openshift-gitops.html /gitops/latest/understanding_openshift_gitops/about-redhat-openshift-gitops.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/installing-openshift-gitops.html /gitops/latest/installing_gitops/installing-openshift-gitops.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/uninstalling-openshift-gitops.html /gitops/latest/removing_gitops/uninstalling-openshift-gitops.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/setting-up-argocd-instance.html /gitops/latest/argocd_instance/setting-up-argocd-instance.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/monitoring-argo-cd-instances.html /gitops/latest/observability/monitoring/monitoring-argo-cd-instances.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/using-argo-rollouts-for-progressive-deployment-delivery.html /gitops/latest/argo_rollouts/using-argo-rollouts-for-progressive-deployment-delivery.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/configuring-an-openshift-cluster-by-deploying-an-application-with-cluster-configurations.html /gitops/latest/declarative_clusterconfig/configuring-an-openshift-cluster-by-deploying-an-application-with-cluster-configurations.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/deploying-a-spring-boot-application-with-argo-cd.html /gitops/latest/argocd_applications/deploying-a-spring-boot-application-with-argo-cd.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/argo-cd-custom-resource-properties.html /gitops/latest/argocd_instance/argo-cd-cr-component-properties.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/configuring-secure-communication-with-redis.html /gitops/latest/securing_openshift_gitops/configuring-secure-communication-with-redis.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/health-information-for-resources-deployment.html /gitops/latest/observability/monitoring/health-information-for-resources-deployment.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/configuring-sso-on-argo-cd-using-dex.html /gitops/latest/accesscontrol_usermanagement/configuring-sso-on-argo-cd-using-dex.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/configuring-sso-for-argo-cd-using-keycloak.html /gitops/latest/accesscontrol_usermanagement/configuring-sso-for-argo-cd-using-keycloak.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/configuring-argo-cd-rbac.html /gitops/latest/accesscontrol_usermanagement/configuring-argo-cd-rbac.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/configuring-resource-quota.html /gitops/latest/managing_resource/configuring-resource-quota.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/monitoring-argo-cd-custom-resource-workloads.html /gitops/latest/observability/monitoring/monitoring-argo-cd-custom-resource-workloads.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/viewing-argo-cd-logs.html /gitops/latest/observability/logging/viewing-argo-cd-logs.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/run-gitops-control-plane-workload-on-infra-nodes.html /gitops/latest/gitops_workloads_infranodes/run-gitops-control-plane-workload-on-infra-nodes.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/about-sizing-requirements-gitops.html /gitops/latest/installing_gitops/preparing-gitops-install.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/collecting-debugging-data-for-support.html /gitops/latest/understanding_openshift_gitops/gathering-gitops-diagnostic-information-for-support.html [L,R=302]
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/gitops/troubleshooting-issues-in-GitOps.html /gitops/latest/troubleshooting_gitops_issues/auto-reboot-during-argo-cd-sync-with-machine-configurations.html [L,R=302]
+
+ # Lightspeed handling unversioned and latest links
+ RewriteRule ^lightspeed/?$ /lightspeed/latest [R=302]
+ RewriteRule ^lightspeed/latest/?(.*)$ /lightspeed/1\.0tp1/$1 [NE,R=302]
+
+ # Lightspeed landing page
+
+ RewriteRule ^container-platform/(4\.9|4\.10|4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/lightspeed/about/ols-openshift-lightspeed-overview.html /lightspeed/latest/about/ols-about-openshift-lightspeed.html [NE,R=302]
+
+ # Service Mesh handling unversioned and latest links
+ RewriteRule ^service-mesh/?$ /service-mesh/latest [R=302]
+ RewriteRule ^servce-mesh/latest/?(.*)$ /service-mesh/3\.0.0tp1/$1 [NE,R=302]
+
+ # Service Mesh landing page
+
+ RewriteRule ^container-platform/(4\.14|4\.15|4\.16|4\.17|4\.18)/service_mesh/v3x/ossm-service-mesh-3-0-overview.html /service-mesh/3.0.0tp1/about/ossm-about-openshift-service-mesh.html [NE,R=302]
+
+ # Pipelines handling unversioned and latest links
+ RewriteRule ^pipelines/?$ /pipelines/latest [R=302]
+ RewriteRule ^pipelines/latest/?(.*)$ /pipelines/1\.16/$1 [NE,R=302]
+
+ # Pipelines release notes version switch
+
+ RewriteRule ^pipelines/1\.(10|11|12|13|14|15)/release_notes/op-release-notes-1-([0-9]+)\.html$ pipelines/1.$1/about/op-release-notes.html [L,R=302]
+ RewriteRule ^pipelines/1\.16/release_notes/op-release-notes-1-16\.html$ - [L]
+ RewriteRule ^pipelines/1\.17/release_notes/op-release-notes-1-17\.html$ - [L]
+ RewriteRule ^pipelines/1\.(16|17)/release_notes/op-release-notes?(.*)\.html$ pipelines/1.$1/release_notes/pipelines-release-notes-1-$1.html [L,R=302]
+
+
+
+ # Pipelines landing page
+
+ RewriteRule ^container-platform/(4\.9|4\.10|4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17|4\.18)/cicd/pipelines/about-pipelines.html /pipelines/latest/about/about-pipelines.html [NE,R=302]
+
+ # redirect links to existing OCP embedded Pipelines content to standalone equivalent for each assembly
+ # except the one recently renamed for now
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/op-release-notes.html /pipelines/latest/about/op-release-notes.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/understanding-openshift-pipelines.html /pipelines/latest/about/understanding-openshift-pipelines.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/installing-pipelines.html /pipelines/latest/install_config/installing-pipelines.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/creating-applications-with-cicd-pipelines.html /pipelines/latest/create/creating-applications-with-cicd-pipelines.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/customizing-configurations-in-the-tektonconfig-cr.html /pipelines/latest/install_config/customizing-configurations-in-the-tektonconfig-cr.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/managing-nonversioned-and-versioned-cluster-tasks.html /pipelines/latest/create/managing-nonversioned-and-versioned-cluster-tasks.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/using-tekton-hub-with-openshift-pipelines.html /pipelines/latest/hub/using-tekton-hub-with-openshift-pipelines.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/remote-pipelines-tasks-resolvers.html /pipelines/latest/create/remote-pipelines-tasks-resolvers.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/using-pipelines-as-code.html /pipelines/latest/pac/about-pipelines-as-code.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/working-with-pipelines-web-console.html /pipelines/latest/create/working-with-pipelines-web-console.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/reducing-pipelines-resource-consumption.html /pipelines/latest/resource/reducing-pipelines-resource-consumption.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/setting-compute-resource-quota-for-openshift-pipelines.html /pipelines/latest/resource/setting-compute-resource-quota-for-openshift-pipelines.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/using-pods-in-a-privileged-security-context.html /pipelines/1\.11/secure/using-pods-in-a-privileged-security-context.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/authenticating-pipelines-using-git-secret.html /pipelines/latest/secure/authenticating-pipelines-using-git-secret.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/using-tekton-chains-for-openshift-pipelines-supply-chain-security.html /pipelines/latest/secure/using-tekton-chains-for-openshift-pipelines-supply-chain-security.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/viewing-pipeline-logs-using-the-openshift-logging-operator.html /pipelines/latest/records/viewing-pipeline-logs-using-the-openshift-logging-operator.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/unprivileged-building-of-container-images-using-buildah.html /pipelines/latest/secure/unprivileged-building-of-container-images-using-buildah.html [L,R=302]
+ RewriteRule ^container-platform/(4\.10|4\.11|4\.12|4\.13|4\.14)/cicd/pipelines/securing-webhooks-with-event-listeners.html /pipelines/latest/secure/securing-webhooks-with-event-listeners.html [L,R=302]
- # Welcome page redirects
- RewriteRule ^(online|dedicated)/?$ /$1/welcome/index.html [L,R=301]
+ # redirect top-level without filespec to the about file
+ RewriteRule ^pipelines/(1\.10|1\.11|1\.12|1\.13|1\.14|1\.15|1\.16|1\.17|1\.18)/?$ /pipelines/$1/about/understanding-openshift-pipelines.html [L,R=302]
+
+
+ # OSD redirects for new content
+ RewriteRule dedicated/4/cloud_infrastructure_access/dedicated-aws-vpn.html dedicated/osd_private_connections/aws-private-connections.html [NE,R=301]
+
+ # Redirects for the ROSA restructure applied in https://github.com/openshift/openshift-docs/pull/41923 and https://github.com/openshift/openshift-docs/pull/43807
+ RewriteRule rosa/rosa_policy/?(.*)$ rosa/rosa_architecture/rosa_policy_service_definition/$1 [NE,R=301]
+
+ RewriteRule rosa/rosa_architecture/rosa-basic-architecture-concepts.html rosa/rosa_architecture/rosa_architecture_sub/rosa-basic-architecture-concepts.html [NE,R=301]
+ RewriteRule rosa/rosa_architecture/rosa-architecture-models.html rosa/rosa_architecture/rosa_architecture_sub/rosa-architecture-models.html [NE,R=301]
+ RewriteRule rosa/rosa_architecture/rosa-policy-?(.*)$ rosa/rosa_architecture/rosa_policy_service_definition/rosa-policy-$1 [NE,R=301]
+ RewriteRule rosa/rosa_architecture/rosa-service-definition.html rosa/rosa_architecture/rosa_policy_service_definition/rosa-service-definition.html [NE,R=301]
+ RewriteRule rosa/rosa_architecture/rosa-life-cycle.html rosa/rosa_architecture/rosa_policy_service_definition/rosa-life-cycle.html [NE,R=301]
+ RewriteRule rosa/rosa_architecture/rosa-sts-getting-started-workflow.html rosa/rosa_getting_started/rosa-sts-getting-started-workflow.html [NE,R=301]
+
+ RewriteRule rosa/rosa_planning/rosa-aws-prereqs.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-aws-prereqs.html [NE,R=301]
+
+ RewriteRule rosa/rosa_support/rosa-getting-support.html rosa/rosa_architecture/rosa-getting-support.html [NE,R=301]
+
+ RewriteRule rosa/rosa_getting_started_sts/rosa-sts-getting-started-workflow.html rosa/rosa_getting_started/rosa-sts-getting-started-workflow.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started_sts/rosa-sts-aws-prereqs.html rosa/rosa_planning/rosa-sts-aws-prereqs.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/rosa-sts-about-iam-resources.html rosa/rosa_architecture/rosa-sts-about-iam-resources.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started_sts/rosa_creating_a_cluster_with_sts/?(.*)$ rosa/rosa_install_access_delete_clusters/$1 [NE,R=301]
+ RewriteRule rosa/rosa_getting_started_sts/rosa-sts-setting-up-environment.html rosa/rosa_planning/rosa-sts-setting-up-environment.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started_sts/rosa-sts-required-aws-service-quotas.html rosa/rosa_planning/rosa-sts-required-aws-service-quotas.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started_sts/?(.*)$ rosa/rosa_install_access_delete_clusters/$1 [NE,R=301]
+
+ RewriteRule rosa/rosa_getting_started/rosa-aws-prereqs.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-aws-prereqs.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa_getting_started_iam/rosa-aws-privatelink-creating-cluster.html rosa/rosa_install_access_delete_clusters/rosa-aws-privatelink-creating-cluster.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-getting-started-workflow.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-getting-started-workflow.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-required-aws-service-quotas.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-required-aws-service-quotas.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-config-aws-account.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-config-aws-account.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-installing-rosa.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-installing-rosa.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-creating-cluster.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-creating-cluster.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-accessing-cluster.html rosa/rosa_install_access_delete_clusters/rosa-sts-accessing-cluster.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa_getting_started_iam/rosa-accessing-cluster.html rosa/rosa_install_access_delete_clusters/rosa-sts-accessing-cluster.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-config-identity-providers.html rosa/rosa_install_access_delete_clusters/rosa-sts-config-identity-providers.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa_getting_started_iam/rosa-config-identity-providers.html rosa/rosa_install_access_delete_clusters/rosa-sts-config-identity-providers.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-deleting-access-cluster.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-deleting-access-cluster.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-deleting-cluster.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-deleting-cluster.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-quickstart.html rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/rosa-quickstart.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa_getting_started_iam/?(.*)$ rosa/rosa_install_access_delete_clusters/rosa_getting_started_iam/$1 [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-sts-about-iam-resources.html rosa/rosa_architecture/rosa-sts-about-iam-resources.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-sts-required-aws-service-quotas.html rosa/rosa_planning/rosa-sts-required-aws-service-quotas.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/rosa-sts-setting-up-environment.html rosa/rosa_planning/rosa-sts-setting-up-environment.html [NE,R=301]
+ RewriteRule rosa/rosa_getting_started/(rosa-quickstart-guide-ui|rosa-getting-started|rosa-sts-getting-started-workflow).html - [L]
+ RewriteRule rosa/rosa_getting_started/?(.*)$ rosa/rosa_install_access_delete_clusters/$1 [NE,R=301]
+
+ # RewriteRule rosa/logging/?(.*)$ rosa/rosa_cluster_admin/rosa_logging/$1 [NE,R=301]
+
+ RewriteRule rosa/cloud_infrastructure_access/?(.*)$ rosa/rosa_cluster_admin/cloud_infrastructure_access/$1 [NE,R=301]
+
+ RewriteRule rosa/nodes/nodes-machinepools-about.html rosa/rosa_cluster_admin/rosa_nodes/rosa-nodes-machinepools-about.html [NE,R=301]
+ RewriteRule rosa/nodes/rosa-managing-worker-nodes.html rosa/rosa_cluster_admin/rosa_nodes/rosa-managing-worker-nodes.html [NE,R=301]
+ RewriteRule rosa/nodes/nodes-about-autoscaling-nodes.html rosa/rosa_cluster_admin/rosa_nodes/rosa-nodes-about-autoscaling-nodes.html [NE,R=301]
+
+ # ROSA UI short-term redirect https://issues.redhat.com/browse/OSDOCS-3511
+ RewriteRule rosa/post_installation_configuration/machine-configuration-tasks.html rosa/rosa_getting_started/rosa-getting-started.html#rosa-getting-started-configure-an-idp-and-grant-access_rosa-getting-started [NE,R=301]
+
+ # ROSA outdated log forwarding tutorial redirect https://issues.redhat.com/browse/OSDOCS-10983
+ RewriteRule rosa/cloud_experts_tutorials/cloud-experts-rosa-cloudwatch-sts.html rosa/observability/logging/log_collection_forwarding/configuring-log-forwarding.html#rosa-cluster-logging-collector-log-forward-sts-cloudwatch_configuring-log-forwarding [NE,R=301]
+
+ # ACS welcome page redirect to StackRox docs
+ # RewriteRule ^acs/?(.*)$ https://help.stackrox.com/ [NE,R=301]
+
+ # Migration redirects https://github.com/openshift/openshift-docs/pull/32598
+ RewriteRule ^container-platform/(4\.5|4\.6|4\.7)/migration/migrating_3_4/?(.*)$ /container-platform/$1/migrating_from_ocp_3_to_4/$2 [NE,R=301]
+
+ # Migration toolkit https://github.com/openshift/openshift-docs/pull/31548
+ RewriteRule ^container-platform/(4\.5|4\.6|4\.7)/migration/migrating_3_4/upgrading-migration-tool-3-4.html /container-platform/$1/migration/migrating_3_4/deploying-cam-3-4.html#upgrading-the-mtc_migrating-3-4 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6|4\.7)/migration/migrating_4_1_4/upgrading-migration-tool-4-1-4.html /container-platform/$1/migration/migrating_4_1_4/deploying-cam-4-1-4.html#upgrading-the-mtc_migrating-4-1-4 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6|4\.7)/migration/migrating_4_2_4/upgrading-migration-tool-4-2-4.html /container-platform/$1/migration/migrating_4_2_4/deploying-cam-4-2-4.html#upgrading-the-mtc_migrating-4-2-4 [NE,R=301]
+
+ # 4.7 redirects
+
+ # builds books moved to be under the cicd table from 4.7
+ RewriteRule ^container-platform/4\.7/(builds)/?(.*)$ /container-platform/4.7/cicd/$1/$2 [NE,R=301]
+
+ # some straight up install guide moves
+ RewriteRule ^container-platform/4\.7/installing/install_config/installation-types.html /container-platform/4.7/installing/installing-preparing.html#supported-installation-methods-for-different-platforms [NE,R=301]
+
+ RewriteRule ^container-platform/4\.7/installing/install_config/customizations.html /container-platform/4.7/post_installation_configuration/cluster-tasks.html#available_cluster_customizations [NE,R=301]
+
+ RewriteRule ^container-platform/4\.7/installing/install_config/configuring-private-cluster.html /container-platform/4.7/post_installation_configuration/configuring-private-cluster.html [NE,R=301]
+
+ # end 4.7 redirects
+
+ # audit log Redirects
+ RewriteRule ^container-platform/(4\.4|4\.5|4\.6)/nodes/nodes/nodes-nodes-audit-log.html /container-platform/$1/security/audit-log-view.html [NE,R=301]
+
+ RewriteRule ^container-platform/4\.6/nodes/nodes/nodes-nodes-audit-config.html /container-platform/4.6/security/audit-log-policy-config.html [NE,R=301]
+
+ # ODO redirects
+ RewriteRule ^container-platform/4\.6/cli_reference/developer_cli_odo/(debugging-applications-in-odo\.html|using-devfiles-in-odo\.html|creating-an-application-with-a-database\.html|creating-a-multicomponent-application-with-odo\.html|creating-a-single-component-application-with-odo\.html) /container-platform/4.6/cli_reference/developer_cli_odo/creating_and_deploying_applications_with_odo/$1 [NE,R=301]
+
+ # Redirects for OLM and Operators restructure
+ RewriteRule ^container-platform/(4\.5|4\.6)/operators/(olm\-adding\-operators\-to\-cluster|olm\-configuring\-proxy\-support|olm\-deleting\-operators\-from\-cluster|olm\-status|olm\-creating\-policy|olm\-managing\-custom\-catalogs|olm\-restricted\-networks) /container-platform/$1/operators/admin/$2\.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6)/operators/(olm\-creating\-apps\-from\-installed\-operators|olm\-webhooks) /container-platform/$1/operators/user/$2\.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6)/operators/understanding_olm/?(.*)$ /container-platform/$1/operators/understanding/olm/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6)/operators/olm-understanding-operatorhub\.html /container-platform/$1/operators/understanding/olm-understanding-operatorhub.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6)/operators/(olm\-what\-operators\-are|olm\-common\-terms|olm\-packaging\-format) /container-platform/$1/operators/understanding/$2\.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.5|4\.6)/operators/crds/?(.*)$ /container-platform/$1/operators/understanding/crds/$2 [NE,R=301]
+
+ # OCE to OKE for 4.x docs only. 3.x stays the same
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/welcome/oce_about.html$ /container-platform/$1/welcome/oke_about.html [NE,R=301]
+
+ # Container security guide move from 4.4 onwards for security/authentication content
+ RewriteRule ^container-platform/(4\.4|4\.5)/authentication/certificates/(.*)$ /container-platform/$1/security/certificates/$2 [NE,R=301]
+ RewriteRule ^container-platform/(4\.4|4\.5)/authentication/(allowing-javascript-access-api-server|encrypting-etcd|certificate-types-descriptions)\.html$ /container-platform/$1/security/$2\.html [NE,R=301]
+
+
+ # The following rule prevents an infinite redirect loop when browsing to /container-platform/4.16/virt/about_virt/about-virt.html
+ # RewriteRule ^container-platform/4\.17/virt/about_virt/about-virt.html$ - [L]
+
+ # OpenShift Virtualization (CNV) catchall redirect; use when CNV releases asynchronously from OCP. Do not change the 302 to a 301.
+ # When uncommented, this redirects all `virt` directory traffic to the about-virt page.
+ # Pay mind to the redirect directly above this which prevents redirect loops.
+ # To activate the redirects, uncomment the next and previous lines and update the version number to the pending release.
+
+ # RewriteRule container-platform/4\.17/virt/(?!about-virt\.html)(.+)$ /container-platform/4.17/virt/about_virt/about-virt.html [NE,R=302]
+
+
+ # Red Hat OpenShift support for Windows Containers (WMCO) catchall redirect; use when WMCO releases asynchronously from OCP. Do not change the 302 to a 301.
+ # When uncommented, this redirects all `windows_containers` directory traffic to the /windows_containers/index.html page.
+ # To activate the redirects, uncomment the next line and update the version number to the pending release.
+ # RewriteRule container-platform/4\.15/windows_containers/(?!index\.html)(.+)$ /container-platform/4.15/windows_containers/index.html [NE,R=302]
+ # RewriteRule ^container-platform/4\.15/support/troubleshooting/troubleshooting-windows-container-workload-issues\.html(.*)$ /container-platform/4.15/windows_containers/index.html [NE,R=302]
+
+ # Serverless Redirects
+ RewriteRule container-platform/(4\.5|4\.6)/serverless/knative_eventing/(serverless-subscriptions\.html|serverless-channels\.html|serverless-subscriptions\.html) /container-platform/$1/serverless/event_workflows/serverless-channels.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.5|4\.6)/serverless/knative_eventing/(serverless-using-brokers\.html|serverless-kn-trigger\.html) /container-platform/$1/serverless/event_workflows/serverless-using-brokers.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.5|4\.6)/serverless/knative_eventing/serverless-sinkbinding\.html /container-platform/$1/serverless/event_workflows/serverless-sinkbinding.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.3|4\.4|4\.5)/serverless/knative_eventing/serverless-knative-eventing.html /container-platform/$1/serverless/architecture/serverless-event-architecture.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.3|4\.4|4\.5)/serverless/knative_serving/serverless-knative-serving.html /container-platform/$1/serverless/architecture/serverless-serving-architecture.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.4|4\.5)/serverless/knative_eventing/serverless-kn-source.html /container-platform/$1/serverless/event_sources/serverless-kn-source.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.4|4\.5)/serverless/knative_eventing/serverless-pingsource.html /container-platform/$1/serverless/event_sources/serverless-pingsource.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.4|4\.5)/serverless/knative_eventing/serverless-apiserversource.html /container-platform/$1/serverless/event_sources/serverless-apiserversource.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.3|4\.4|4\.5)/serverless/knative_eventing/serverless-kn-source.html /container-platform/$1/serverless/event_sources/serverless-kn-source.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.3|4\.4|4\.5)/serverless/knative_eventing/serverless-kn-source.html /container-platform/$1/serverless/event_sources/serverless-pingsource.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.3|4\.4|4\.5)/serverless/knative_eventing/serverless-apiserversource.html /container-platform/$1/serverless/event_sources/serverless-apiserversource.html [NE,R=301]
+
+ RewriteRule container-platform/(4\.3|4\.4|4\.5)/serverless/knative_cli/knative-cli.html /container-platform/$1/serverless/knative_serving/serving-kn-commands.html [NE,R=301]
+
+ # Service Mesh
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/threescale_adapter/threescale-adapter\.html /container-platform/$1/service_mesh/v1x/threescale-adapter.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/servicemesh-release-notes\.html$ /container-platform/$1/service_mesh/v1x/servicemesh-release-notes.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_arch/understanding-ossm\.html$ /container-platform/$1/service_mesh/v1x/ossm-architecture.html#ossm-architecture-1x_ossm-architecture-v1x [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_arch/ossm-kiali\.html$ /container-platform/$1/service_mesh/v1x/ossm-architecture.html#ossm-kiali-overview_ossm-architecture-v1x [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_arch/ossm-jaeger\.html$ /container-platform/$1/service_mesh/v1x/ossm-architecture.html#jaeger-product-overview_ossm-architecture-v1x [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_arch/ossm-vs-community\.html$ /container-platform/$1/service_mesh/v1x/ossm-vs-community.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_day_two/(prepare-to-deploy-applications-ossm|ossm-example-bookinfo|ossm-tutorial-jaeger-tracing)\.html$ /container-platform/$1/service_mesh/v1x/prepare-to-deploy-applications-ossm.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_day_two/ossm-auto-route\.html$ /container-platform/$1/service_mesh/v1x/customizing-installation-ossm.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_user_guide/(.*?)\.html$ /container-platform/$1/service_mesh/v1x/$2.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/service_mesh_support/ossm-collecting-ossm-data\.html$ /container-platform/$1/service_mesh/v1x/servicemesh-release-notes.html [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.3|4\.4|4\.5|4\.6)/service_mesh/threescale_adapter/threescale-adapter\.html$ /container-platform/$1/service_mesh/v1x/threescale-adapter.html [NE,R=301]
+ RewriteRule ^container-platform/4\.(.*)/service_mesh/service_mesh_install/updating-ossm\.html$ /container-platform/4.$1/service_mesh/v1x/installing-ossm.html#manual-updates [NE,R=301]
+ RewriteRule ^container-platform/4\.(.*)/service_mesh/service_mesh_install/removing-ossm\.html$ /container-platform/4.$1/service_mesh/v1x/installing-ossm.html#removing-red-hat-openshift-service-mesh [NE,R=301]
+
+ RewriteRule ^container-platform/4\.(.*)/service_mesh/service_mesh_install/(.*)\.html$ /container-platform/4.$1/service_mesh/v1x/$2.html [NE,R=301]
+
+
+ # Service Mesh redirect from 3 to 4
+ RewriteRule ^container-platform/3\.11/servicemesh-install/servicemesh-install.html$ /container-platform/4.3/service_mesh/service_mesh_install/preparing-ossm-installation.html [NE,R=301]
+
+ # Service Mesh redirect for Kiali tutorial to User Guide (https://github.com/openshift/openshift-docs/pull/22717)
+ RewriteRule ^container-platform/4\.4/service_mesh/service_mesh_day_two/ossm-tutorial-kiali.html$ /container-platform/4.4/service_mesh/service_mesh_user_guide/ossm-observability.html [NE,R=301]
+
+ # redirects for paths using dashes
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/web-console/?(.*)$ /container-platform/$1/web_console/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/networking/multiple-networks/?(.*)$ /container-platform/$1/networking/multiple_networks/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.4/cli_reference/openshift_developer_cli/?(.*)$ /container-platform/4.4/cli_reference/developer_cli_odo/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/networking/openshift-sdn/?(.*)$ /container-platform/$1/networking/openshift_sdn/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/networking/configuring-ingress-cluster-traffic/?(.*)$ /container-platform/$1/networking/configuring_ingress_cluster_traffic/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/storage/persistent-storage/?(.*)$ /container-platform/$1/storage/persistent_storage/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/registry/configuring-registry-storage/?(.*)$ /container-platform/$1/registry/configuring_registry_storage/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/operators/understanding-olm/?(.*)$ /container-platform/$1/operators/understanding_olm/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/openshift_images/managing-images/?(.*)$ /container-platform/$1/openshift_images/managing_images/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/applications/application-life-cycle-management/?(.*)$ /container-platform/$1/applications/application_life_cycle_management/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/monitoring/cluster-monitoring/?(.*)$ /container-platform/$1/monitoring/cluster_monitoring/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/metering/configuring-metering/?(.*)$ /container-platform/$1/metering/configuring_metering/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/migration/migrating-3-4/?(.*)$ /container-platform/$1/migration/migrating_3_4/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/migration/migrating-4_1-4/?(.*)$ /container-platform/$1/migration/migrating_4_1_4/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/migration/migrating-4_2-4/?(.*)$ /container-platform/$1/migration/migrating_4_2_4/$2 [NE,R=301]
+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/cli_reference/helm-cli/?(.*)$ /container-platform/$1/cli_reference/helm_cli/$2 [NE,R=301]
+
+ # CNV redirects for paths using dashes
+ RewriteRule ^container-platform/4\.3/cnv/(cnv_install|cnv-install)/cnv-about-cnv.html/?(.*)$ /container-platform/4.3/cnv/cnv-about-cnv.html [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-install/?(.*)$ /container-platform/4.3/cnv/cnv_install/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-release-notes/?(.*)$ /container-platform/4.3/cnv/cnv_release_notes/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-virtual-machines/?(.*)$ /container-platform/4.3/cnv/cnv_virtual_machines/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-vm-templates/?(.*)$ /container-platform/4.3/cnv/cnv_vm_templates/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-live-migration/?(.*)$ /container-platform/4.3/cnv/cnv_live_migration/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-node-maintenance/?(.*)$ /container-platform/4.3/cnv/cnv_node_maintenance/$1 [NE,R=301]
+
+ RewriteRule ^container-platform/4\.3/cnv/cnv-logging-events-monitoring/?(.*)$ /container-platform/4.3/cnv/cnv_logging_events_monitoring/$1 [NE,R=301]
+
+ # OCS 4.2 and 4.3 Redirects
+ RewriteRule ^container-platform/(4\.2|4\.3)/storage/red-hat-openshift-container-storage.html/?(.*)$ /container-platform/$1/storage/persistent-storage/persistent-storage-ocs.html/$2 [NE,R=301]
+
+ # Nodes and metering for 4.1+
+ RewriteRule ^container-platform/(4\.1|4\.2|4\.3)/nodes/containers/nodes-containers-health.html/?(.*)$ /container-platform/$1/applications/application-health.html/$2 [NE,R=301]
+ RewriteRule ^container-platform/(4\.2|4\.3)/metering/metering-about-installing-metering.html/?(.*)$ /container-platform/$1/metering-installing-metering.html/$2 [NE,R=301]
+
+ # Redirect for OSD 4 to just versionless OSD
+ RewriteRule ^dedicated/4/(?!authentication/using-rbac\.html) /dedicated/welcome/index.html [NE,R=301]
+
+ # Redirect for OSD latest and version less to OSD 3 - this will change when there is no OSD 3 and go to OSD 4
+ # Use "/latest" in it's own rule to prevent any ambiguity
+ # RewriteRule ^dedicated/latest/?(.*)$ /dedicated/3/$1 [NE,R=301]
+ # Use a negative lookahead to prevent matching a dedicated URL that already contains "3/" or "4/"
+ # Lookaheads are non-capturing, so they don't affect the $N numbering
+ # RewriteRule ^dedicated/(?!3/|4/)(.*)$ /dedicated/3/$1 [NE,R=301]
+
+ # Welcome page redirects - could probably be reg exed better by a regex guru
+ RewriteRule ^online/?$ /online/pro/welcome/index.html [L,R=301]
+ RewriteRule ^online/pro/?$ /online/pro/welcome/index.html [L,R=301]
+ RewriteRule ^online/starter/?$ /online/starter/welcome/index.html [L,R=301]
+
+ # match all migration landing pages except 4.1
+ RewriteRule ^container-platform/(4\.[^1])/migration/?$ /container-platform/$1/migration/migrating_3_4/about-migration.html [L,R=301]
+
+ RewriteRule ^dedicated/?$ /dedicated/welcome/index.html [L,R=301]
+ RewriteRule ^dedicated/(3|4)/?$ /dedicated/$1/welcome/index.html [L,R=301]
+ RewriteRule ^aro/(3|4)/?$ /aro/$1/welcome/index.html [L,R=301]
+ RewriteRule ^rosa/?$ /rosa/welcome/index.html [L,R=301]
RewriteRule ^enterprise/(3\.0|3\.1|3\.2)/?$ /enterprise/$1/welcome/index.html [L,R=301]
RewriteRule ^enterprise/3\.3/?$ /container-platform/3.3/welcome/index.html [L,R=301]
- RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7|3\.9)/?$ /container-platform/$1/welcome/index.html [L,R=301]
+ RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7|3\.9|3\.10|3\.11|4\.1|4\.2|4\.3|4\.4|4\.5|4\.6|4\.7|4\.8|4\.9|4\.10|4\.11|4\.12|4\.13|4\.14|4\.15|4\.16|4\.17)/?$ /container-platform/$1/welcome/index.html [L,R=301]
+ RewriteRule ^container-platform-ocp/(4\.3|4\.4|4\.8)/?$ /container-platform-ocp/$1/welcome/index.html [L,R=301]
+
+
+ # Redirects for 4.2
+ RewriteRule ^container-platform/4\.2/scalability_and_performance/planning-your-environment-according-to-object-limits\.html(.*)$ container-platform/4.2/scalability_and_performance/planning-your-environment-according-to-object-maximums.html [L,R=301]
+
+ RewriteRule ^container-platform/4\.2/installing/installing_aws_user_infra/installing-aws-user-infra\.html(.*)$ container-platform/4.2/installing/installing_aws/installing-aws-user-infra.html [L,R=301]
+
+ RewriteRule ^container-platform/4\.2/installing/installing_gcp_user_infra/installing-gcp-user-infra\.html(.*)$ container-platform/4.2/installing/installing_gcp/installing-gcp-user-infra.html [L,R=301]
+
+ RewriteRule ^container-platform/4\.2/installing/installing_restricted_networks/installing-restricted-networks-preparations\.html(.*)$ container-platform/4.2/installing/install_config/installing-restricted-networks-preparations.html [L,R=301]
+
+ RewriteRule ^container-platform/4\.2/installing/installing_restricted_networks/installing-restricted-networks-aws\.html(.*)$ container-platform/4.2/installing/installing_aws/installing-restricted-networks-aws.html [L,R=301]
+
+ RewriteRule ^container-platform/4\.2/installing/installing_restricted_networks/installing-restricted-networks-bare-metal\.html(.*)$ container-platform/4.2/installing/installing_bare_metal/installing-restricted-networks-bare-metal.html [L,R=301]
+
+ RewriteRule ^container-platform/4\.2/installing/installing_restricted_networks/installing-restricted-networks-vsphere\.html(.*)$ container-platform/4.2/installing/installing_vsphere/installing-restricted-networks-vsphere.html [L,R=301]
+
+ # Redirects for 4.1
+ RewriteRule ^container-platform/4\.1/disaster_recovery/backing-up-etcd\.html(.*)$ container-platform/4.1/backup_and_restore/backing-up-etcd.html [L,R=301]
+ RewriteRule ^container-platform/4\.1/disaster_recovery/scenario-1-infra-recovery\.html(.*)$ container-platform/4.1/backup_and_restore/disaster_recovery/scenario-1-infra-recovery.html [L,R=301]
+ RewriteRule ^container-platform/4\.1/disaster_recovery/scenario-2-restoring-cluster-state\.html(.*)$ container-platform/4.1/backup_and_restore/disaster_recovery/scenario-2-restoring-cluster-state.html [L,R=301]
+ RewriteRule ^container-platform/4\.1/disaster_recovery/scenario-3-expired-certs\.html(.*)$ container-platform/4.1/backup_and_restore/disaster_recovery/scenario-3-expired-certs.html [L,R=301]
+ RewriteRule ^container-platform/4\.1/scalability_and_performance/planning-your-environment-according-to-object-limits\.html(.*)$ container-platform/4.1/scalability_and_performance/planning-your-environment-according-to-object-maximums.html [L,R=301]
+
# Overview page has moved to Index page
RewriteRule ^(.*)/overview\.html(.*)$ /$1/index.html$2 [NE,L,R=301]
+ # OCP redirects for 3.11
+ RewriteRule ^container-platform/3\.11/scaling_performance/cluster_limits\.html(.*)$ container-platform/3.11/scaling_performance/cluster_maximums.html [L,R=301]
+
+ # OCP redirects for 3.10
+ RewriteRule ^container-platform/3\.10/install_config/install/planning\.html(.*)$ container-platform/3.10/install/index.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/prerequisites\.html(.*)$ container-platform/3.10/install/prerequisites.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/host_preparation\.html(.*)$ container-platform/3.10/install/host_preparation.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/rpm_vs_containerized\.html(.*)$ container-platform/3.10/install/index.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/quick_install\.html(.*)$ container-platform/3.10/install/index.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/advanced_install\.html(.*)$ container-platform/3.10/install/index.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/disconnected_install\.html(.*)$ container-platform/3.10/install/disconnected_install.html [L,R=301]
+ RewriteRule ^container-platform/3\.10/install_config/install/stand_alone_registry_install\.html(.*)$ container-platform/3.10/install/stand_alone_registry.html [L,R=301]
+
# OCP redirects for 3.9
RewriteRule ^container-platform/3\.9/install_config/deploying_cfme\.html(.*)$ container-platform/3.9/install_config/cfme/index.html [L,R=301]
RewriteRule ^container-platform/3\.9/admin_solutions/index\.html(.*)$ container-platform/3.9/day_two_guide/index.html [L,R=301]
@@ -167,6 +774,14 @@ AddType text/vtt vtt
# Online/Dedicated/OCP redirects for 3.7
RewriteRule ^dedicated/admin_guide/manage_authorization_policy\.html(.*)$ /dedicated/admin_guide/manage_rbac.html [L,R=301]
+ # Online/Dedicated/OCP redirects for 3.7 + 3.9
+ RewriteRule ^(online|dedicated|container-platform)/(3\.7|3\.9)/using_images/docker_images/index\.html(.*)$ /$1/$2/using_images/other_images/other_container_images.html$3 [NE,L,R=301]
+ RewriteRule ^container-platform/(3\.7|3\.9)/admin_guide/backup_restore.html$ /container-platform/$1/admin_guide/assembly_restoring-cluster.html [L,R=301]
+ RewriteRule ^dedicated/admin_guide/backup_restore.html$ /dedicated/admin_guide/assembly_backing-up-restoring-project-application.html [L,R=301]
+
+ # Online/Dedicated/OCP redirects for 3.9
+ RewriteRule ^(online|dedicated|container-platform)/(3\.9)/architecture/networking/haproxy-router\.html(.*)$ /$1/$2/architecture/networking/assembly_available_router_plugins.html#haproxy-template-router [NE,L,R=301]
+
# Developers console redirect
RewriteRule ^online/getting_started/developers/developers_console\.html(.*)$ /online/getting_started/index.html$1 [NE,L,R=301]
RewriteRule ^dedicated/getting_started/developers/developers_console\.html(.*)$ /dedicated/getting_started/developers_console.html$1 [NE,L,R=301]
@@ -196,10 +811,7 @@ AddType text/vtt vtt
RewriteRule ^(online|dedicated)/using_images/xpaas_images/sso\.html(.*)$ https://access.redhat.com/documentation/en/red-hat-xpaas/version-0/red-hat-xpaas-sso-image/ [L,R=301]
# Online specific redirects
- RewriteRule ^online/creating_images/custom\.html(.*)$ /online/welcome/index.html [L,R=301]
- RewriteRule ^online/getting_started/devpreview_faq\.html(.*)$ https://www.openshift.com/pricing/index.html [L,R=301]
- RewriteRule ^online/dev_guide/daemonsets\.html(.*)$ /online/welcome/index.html [L,R=301]
- RewriteRule ^online/dev_guide/event_notifications\.html(.*)$ /online/dev_guide/notifications.html$1 [NE,L,R=301]
+ RewriteRule ^online/(.*)$ https://access.redhat.com/support/policy/updates/openshift/online [NE,L,R=301]
# Dedicated specific redirects
RewriteRule ^dedicated/admin_guide/osd_imagestreams_templates\.html(.*) /dedicated/admin_guide/index.html$1 [NE,L,R=301]
@@ -207,9 +819,51 @@ AddType text/vtt vtt
RewriteRule ^dedicated/architecture/additional_concepts/f5_big_ip\.html(.*) /dedicated/welcome/index.html$1 [NE,L,R=301]
RewriteRule ^dedicated/architecture/additional_concepts/flannel\.html(.*) /dedicated/welcome/index.html$1 [NE,L,R=301]
+ # Redirects for Dedicated service log content move, applied in https://github.com/openshift/openshift-docs/pull/47033
+ RewriteRule ^dedicated/osd_install_access_delete_cluster/notifications.html /dedicated/osd_cluster_admin/osd_logging/osd-accessing-the-service-logs.html [NE,R=301]
+
+ # Redirects for the Dedicated restructure applied in https://github.com/openshift/openshift-docs/pull/41923 and https://github.com/openshift/openshift-docs/pull/43807
+ RewriteRule ^dedicated/osd_quickstart/osd-quickstart.html /dedicated/osd_getting_started/osd-getting-started.html [NE,R=301]
+
+ RewriteRule ^dedicated/osd_cluster_create/osd-understanding-your-cloud-deployment-options.html /dedicated/osd_getting_started/osd-understanding-your-cloud-deployment-options.html [NE,R=301]
+ RewriteRule ^dedicated/osd_cluster_create/creating-an-aws-cluster.html /dedicated/osd_install_access_delete_cluster/creating-an-aws-cluster.html [NE,R=301]
+ RewriteRule ^dedicated/osd_cluster_create/creating-a-gcp-cluster.html /dedicated/osd_install_access_delete_cluster/creating-a-gcp-cluster.html [NE,R=301]
+
+ RewriteRule ^dedicated/identity_providers/config-identity-providers.html /dedicated/osd_install_access_delete_cluster/config-identity-providers.html [NE,R=301]
+
+ RewriteRule ^dedicated/administering_a_cluster/osd-admin-roles.html /dedicated/osd_cluster_admin/osd-admin-roles.html [NE,R=301]
+
+ RewriteRule ^dedicated/osd_private_connections/?(.*)$ /dedicated/osd_cluster_admin/osd_private_connections/$1 [NE,R=301]
+
+ RewriteRule ^dedicated/nodes/rosa-managing-worker-nodes.html /dedicated/osd_cluster_admin/osd_nodes/osd-managing-worker-nodes.html [NE,R=301]
+
+ # Redirect to get Custom Metrics Autoscaler into OSD
+ RewriteRule ^dedicated/nodes/cma/?(.*)$ - [L,R=302]
+
+ RewriteRule ^dedicated/osd_notifications/notifications.html /dedicated/osd_cluster_admin/osd_logging/osd-accessing-the-service-logs.html [NE,R=301]
+
+ RewriteRule ^dedicated/osd_policy/?(.*)$ /dedicated/osd_architecture/osd_policy/$1 [NE,R=301]
+
+ # Redirects for PTP changes delivered in https://github.com/openshift/openshift-docs/pull/35889
+ RewriteRule ^container-platform/(4\.9|4\.10|4\.11)/networking/configuring-ptp.html /container-platform/$1/networking/using-ptp.html [NE,R=302]
+
+ # Redirects for PTP changes delivered in https://github.com/openshift/openshift-docs/pull/62621
+
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13)/networking/ptp/about-ptp.html /container-platform/$1/networking/using-ptp.html [NE,R=302]
+
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13)/networking/ptp/configuring-ptp.html /container-platform/$1/networking/using-ptp.html [NE,R=302]
+
+ RewriteRule ^container-platform/(4\.11|4\.12|4\.13)/networking/ptp/using-ptp-events.html /container-platform/$1/networking/using-ptp.html [NE,R=302]
+
+ RewriteRule ^container-platform/(4\.13)/networking/ptp/ptp-cloud-events-consumer-dev-reference.html /container-platform/$1/networking/ptp-cloud-events-consumer-dev-reference.html [NE,R=302]
+
+ RewriteRule ^container-platform/(4\.14|4\.15)/networking/ptp-cloud-events-consumer-dev-reference.html /container-platform/$1/networking/ptp/ptp-cloud-events-consumer-dev-reference.html [NE,R=302]
+
+ RewriteRule ^container-platform/(4\.14|4\.15)/networking/using-ptp.html /container-platform/$1/networking/ptp/about-ptp.html [NE,R=302]
+
# OCP specific redirects
RewriteRule ^(container-platform|enterprise)/(3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/architecture/additional_concepts/throttling\.html(.*)$ /$1/$2/admin_guide/overcommit.html$3 [NE,L,R=301]
- RewriteRule ^(container-platform|enterprise)/(.[^/])/admin_guide/install/(advanced_install|deploy_router|docker_registry|first_steps|overview|prerequisites|quick_install|upgrades)\.html(.*)$ /$1/$2/install_config/install/$3.html$4 [NE,R=301]
+ RewriteRule ^(container-platform|enterprise)/(.[^/])/admin_guide/install/(advanced_install|deploy_router|docker_registry|first_steps|overview|prerequisites|quick_install|upgrades)\.html(.*)$ /$1/$2/install/$3.html$4 [NE,R=301]
RewriteRule ^(container-platform|enterprise)/(.[^/])/admin_guide/upgrades\.html(.*) /$1/$2/install_config/upgrades.html$3 [NE,R=301]
RewriteRule ^(container-platform|enterprise)/(3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/admin_guide/(aggregate_logging|cluster_metrics|configuring_authentication|configuring_aws|configuring_gce|configuring_openstack|http_proxies|master_node_configuration|native_container_routing|routing_from_edge_lb|syncing_groups_with_ldap|web_console_customization)\.html(.*)$ /$1/$2/install_config/$3.html$4 [NE,R=301]
RewriteRule ^(container-platform|enterprise)/(3\.1|3\.2|3\.3|3\.4|3\.5|3\.6|3\.7)/admin_guide/selfprovisioned_projects\.html(.*)$ /$1/$2/admin_guide/managing_projects.html$3 [NE,R=301]
@@ -217,10 +871,44 @@ AddType text/vtt vtt
RewriteRule ^container-platform/(3\.7)/install_config/upgrades\.html(.*)$ /container-platform/$1/upgrading/index.html$2 [NE,R=301]
RewriteRule ^container-platform/(3\.7)/install_config/upgrading/(.*)$ /container-platform/$1/upgrading/$2 [NE,R=301]
RewriteRule ^container-platform/(3\.7)/install_config/downgrade\.html /container-platform/3\.7/upgrading/downgrade.html [NE,R=301]
+ RewriteRule ^container-platform/(3\.3|3\.4|3\.5|3\.6|3\.7|3\.9)/install_config/advanced_ldap_configuration/(.*)$ /container-platform/$1/install_config/sssd_for_ldap_failover.html [L,R=301]
+
+ # OCP 4.1 redirects
+ RewriteRule ^container-platform/4\.1/installing/installing_aws_upi/installing-aws-upi\.html /container-platform/4\.1/installing/installing_aws/installing-aws-user-infra.html [NE,R=301]
+# ----------------------------------------------------------------------
+# Specify cache retension policy
+# ----------------------------------------------------------------------
+
+
+ ExpiresActive On
+ ExpiresDefault "access plus 1 seconds"
+ ExpiresByType image/x-icon "access plus 2592000 seconds"
+ ExpiresByType image/jpeg "access plus 2592000 seconds"
+ ExpiresByType image/png "access plus 2592000 seconds"
+ ExpiresByType image/gif "access plus 2592000 seconds"
+ ExpiresByType text/css "access plus 604800 seconds"
+ ExpiresByType text/javascript "access plus 216000 seconds"
+ ExpiresByType application/x-javascript "access plus 216000 seconds"
+
+
+
+
+ Header set Cache-Control "max-age=2692000, public"
+
+
+ Header set Cache-Control "max-age=2692000, public"
+
+
+ Header set Cache-Control "max-age=216000, private"
+
+ Header unset ETag
+ Header unset Last-Modified
+
+
# ----------------------------------------------------------------------
# Prevent 404 errors for non-existing redirected folders
# ----------------------------------------------------------------------
diff --git a/.s2i/httpd-cfg/01-community.conf b/.s2i/httpd-cfg/01-community.conf
index d5ad52c25287..9412fb3b7a7d 100644
--- a/.s2i/httpd-cfg/01-community.conf
+++ b/.s2i/httpd-cfg/01-community.conf
@@ -123,7 +123,7 @@ AddType text/vtt vtt
RewriteEngine On
RewriteBase /
- # Rules have NE added to the end in order to preserve either explicit or implicit # anchor tags
+ # Rules have NE added to the end to preserve either explicit or implicit # anchor tags
# Redirects for "latest" version
RewriteRule ^origin-m4/?$ /latest/ [R=301]
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index eb788e599e21..000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-language: python
-python:
- - 2.7
-
-cache: pip
-
-sudo: required
-
-before_install:
- - sudo gem install asciidoctor -v 1.5.4
- - sudo gem install asciidoctor-diagram -v 1.5.4
-
-install:
- - pip install pyyaml
- - pip install aura.tar.gz
-
-script:
- - python build.py --distro openshift-enterprise --product "OpenShift Container Platform" --version 3 --no-upstream-fetch
- - if [ "$TRAVIS_BRANCH" == "enterprise-3.9" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.10" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.11" ]; then python build.py --distro openshift-online --product "OpenShift Container Platform" --version 3 --no-upstream-fetch; fi
- - if [ "$TRAVIS_BRANCH" == "enterprise-3.9" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.10" ] || [ "$TRAVIS_BRANCH" == "enterprise-3.11" ]; then python build.py --distro openshift-dedicated --product "OpenShift Container Platform" --version 3 --no-upstream-fetch; fi
- - python makeBuild.py
-
-after_success:
- - bash autopreview.sh
-
-after_failure:
- - bash autocomment.sh
diff --git a/.travis.yml.old b/.travis.yml.old
new file mode 100644
index 000000000000..d89539cddb05
--- /dev/null
+++ b/.travis.yml.old
@@ -0,0 +1,37 @@
+language: python
+cache:
+ pip: true
+
+git:
+ depth: 10
+jobs:
+ include:
+ - name: "Preview, validate, and build"
+ before_install:
+ - if [ "$TRAVIS_BRANCH" != "main" ]; then chmod +x autopreview.sh && ./autopreview.sh; fi
+ install:
+ - gem install --local _gemfiles/asciidoctor-2.0.20.gem _gemfiles/asciidoctor-diagram-plantuml-1.2023.10.gem _gemfiles/asciidoctor-diagram-ditaamini-1.0.3.gem _gemfiles/rexml-3.2.6.gem _gemfiles/asciidoctor-diagram-2.2.14.gem _gemfiles/rouge-4.1.3.gem
+ - pip3 install pyyaml aura.tar.gz
+ script:
+ # Fail if Asciidoctor encounters errors. Or if release notes has links to internal bugs. Pass otherwise. Then, build updated distros
+ - chmod +x ./scripts/check-rn-link-perms.sh
+ - ./scripts/check-rn-link-perms.sh || travis_terminate 1
+ - chmod +x ./scripts/check-asciidoctor-build.sh
+ - chmod +x ./scripts/get-updated-distros.sh
+ - ./scripts/check-asciidoctor-build.sh || travis_terminate 1
+ - |
+ ./scripts/get-updated-distros.sh |
+ while read -r filename; do
+ if [ "$filename" == "_topic_maps/_topic_map.yml" ]; then python3 build.py --distro openshift-enterprise --product "OpenShift Container Platform" --version 4.14 --no-upstream-fetch || travis_terminate 1
+
+ elif [ "$filename" == "_topic_maps/_topic_map_osd.yml" ]; then python3 build.py --distro openshift-dedicated --product "OpenShift Dedicated" --version 4 --no-upstream-fetch || travis_terminate 1
+
+ elif [ "$filename" == "_topic_maps/_topic_map_ms.yml" ]; then python3 build.py --distro microshift --product "Microshift" --version 4 --no-upstream-fetch || travis_terminate 1
+
+ elif [ "$filename" == "_topic_maps/_topic_map_rosa.yml" ]; then python3 build.py --distro openshift-rosa --product "Red Hat OpenShift Service on AWS" --version 4 --no-upstream-fetch || travis_terminate 1
+
+ elif [ "$filename" == "_distro_map.yml" ]; then python3 build.py --distro openshift-enterprise --product "OpenShift Container Platform" --version 4.14 --no-upstream-fetch || travis_terminate 1
+ fi
+ done
+
+ if [ -d "drupal-build" ]; then python3 makeBuild.py; fi
diff --git a/.vale.ini b/.vale.ini
new file mode 100644
index 000000000000..d74dd390e0b9
--- /dev/null
+++ b/.vale.ini
@@ -0,0 +1,29 @@
+StylesPath = .vale/styles
+
+MinAlertLevel = suggestion
+
+Packages = RedHat, AsciiDoc, OpenShiftAsciiDoc
+
+Vocab = OpenShiftDocs
+
+# Ignore files in dirs starting with `.` to avoid raising errors for `.vale/fixtures/*/testinvalid.adoc` files
+[[!.]*.adoc]
+BasedOnStyles = RedHat, AsciiDoc, OpenShiftAsciiDoc
+
+# Optional: pass doc attributes to asciidoctor before linting
+#[asciidoctor]
+#openshift-enterprise = YES
+
+# Disabling rules (NO)
+RedHat.ReleaseNotes = NO
+
+# Use local OpenShiftDocs Vocab terms
+Vale.Terms = YES
+Vale.Avoid = YES
+
+# Disable module specific rules
+OpenShiftAsciiDoc.ModuleContainsParentAssemblyComment = NO
+OpenShiftAsciiDoc.NoNestingInModules = NO
+OpenShiftAsciiDoc.NoXrefInModules = NO
+OpenShiftAsciiDoc.IdHasContextVariable = NO
+OpenShiftAsciiDoc.NoTocInModules = NO
diff --git a/.vale/styles/config/vocabularies/OpenShiftDocs/accept.txt b/.vale/styles/config/vocabularies/OpenShiftDocs/accept.txt
new file mode 100644
index 000000000000..f77bd448b729
--- /dev/null
+++ b/.vale/styles/config/vocabularies/OpenShiftDocs/accept.txt
@@ -0,0 +1,36 @@
+# Regex terms added to accept.txt are ignored by the Vale linter and override RedHat Vale rules.
+# Add terms that have a corresponding incorrectly capitalized form to reject.txt.
+# URL slugs
+(.*/)+
+(?
-
-
-
-
-
-