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..588816f49f89 100644 --- a/.s2i/httpd-cfg/01-commercial.conf +++ b/.s2i/httpd-cfg/01-commercial.conf @@ -123,18 +123,86 @@ 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 ^(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\.3/$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] - # Welcome page redirects - RewriteRule ^(online|dedicated)/?$ /$1/welcome/index.html [L,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] + + # 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\.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] + + # Redirect for OSD 4.1 to OSD 4 + RewriteRule ^dedicated/4\.1/(.*)$ /dedicated/4/$1 [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/welcome/index.html [L,R=301] + RewriteRule ^dedicated/(3|4)/?$ /dedicated/$1/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)/?$ /container-platform/$1/welcome/index.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] # Overview page has moved to Index page RewriteRule ^(.*)/overview\.html(.*)$ /$1/index.html$2 [NE,L,R=301] @@ -217,6 +285,11 @@ 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] + @@ -280,4 +353,4 @@ AddCharset utf-8 .atom .css .js .json .rss .vtt .xml Order allow,deny Deny from all Satisfy All - + \ No newline at end of file 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..6beb5ffcba6c --- /dev/null +++ b/.vale/styles/config/vocabularies/OpenShiftDocs/accept.txt @@ -0,0 +1,34 @@ +# 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 +(.*/)+ +(? - - - - - -