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 +(.*/)+ +(? - - - - - -