diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000..a7cd828
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,11 @@
+FROM bitnami/python:3.13
+
+RUN apt update && apt upgrade -y && apt install vim -y
+
+# Add dev requirements
+ADD requirements.txt /tmp/
+RUN pip3 install -r /tmp/requirements.txt
+RUN rm /tmp/requirements.txt
+
+# Help avoid "unsupported locale setting" in Sphinx
+RUN echo "export LC_ALL=C.UTF-8" > ~/.bashrc
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..2c196c8
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,49 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+{
+ "name": "salt-install-guide",
+
+ // README at: https://github.com/devcontainers/templates/tree/main/src/python
+ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
+ // Python container image is needed for running python-based tests (ex. orphaned-content.py)
+ // "image": "mcr.microsoft.com/devcontainers/python:3.13-bookworm",
+
+ "build": {
+ "dockerfile": "Dockerfile"
+ },
+
+ // Features to add to the dev container. More info: https://containers.dev/features.
+ // "features": {
+ // node / npm is required for markdownlint-cli2
+ // By default, installs lts version
+ // "ghcr.io/devcontainers/features/node:1": {}
+ // },
+
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
+ // "forwardPorts": [],
+
+ // Use 'postCreateCommand' to run commands after the container is created.
+ // "postCreateCommand": ""
+
+ // There is also a postStartCommand that executes every time the container starts.
+ // The parameters behave exactly like postCreateCommand, but the commands execute on start rather than create.
+ // "postStartCommand": ""
+
+ // There is also a postAttachCommand that executes every time the container attaches to a workspace.
+ // The parameters behave exactly like postCreateCommand, but the commands execute on a started container after the workspace is available under /workspaces/
+ // "postAttachCommand": {},
+
+ // Configure tool-specific properties.
+ "customizations": {
+ // Configure properties specific to VS Code.
+ "vscode": {
+ // Add the IDs of extensions you want installed when the container is created.
+ "extensions": [
+ // Extension to work with Python
+ "ms-python.python"
+ ]
+ }
+ }
+
+ // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
+ // "remoteUser": "root"
+}
diff --git a/.devcontainer/requirements.txt b/.devcontainer/requirements.txt
new file mode 100644
index 0000000..0173cc8
--- /dev/null
+++ b/.devcontainer/requirements.txt
@@ -0,0 +1,2 @@
+nox>=2024.10.9
+pre-commit>=3.8.0
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..02b46cc
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,11 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Salt Project Community Discord
+ url: https://discord.gg/J7b7EscrAs
+ about: Please ask and answer questions in our community Discord server.
+ - name: Salt Project GitHub Discussions
+ url: https://github.com/saltstack/salt/discussions
+ about: Unable to use Discord? Drop by our GitHub Discussions forum for Q&A.
+ - name: Report a security vulnerability
+ url: https://github.com/saltstack/salt/security/policy
+ about: Please review our security policy for more details.
diff --git a/.github/ISSUE_TEMPLATE/docs.yml b/.github/ISSUE_TEMPLATE/docs.yml
new file mode 100644
index 0000000..17a40c3
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/docs.yml
@@ -0,0 +1,80 @@
+name: Docs Feedback Report
+description: File a Docs feedback report.
+title: "[DOCS]: "
+assignees:
+ - scriptautomate-bc
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this docs feedback report!
+ - type: textarea
+ id: what-happened
+ attributes:
+ label: Description of Issue
+ description: A clear and concise description of what the problem is.
+ placeholder: Ex. I'm always frustrated when [...]
+ validations:
+ required: true
+ - type: dropdown
+ id: version
+ attributes:
+ label: Version
+ description: What versions of Salt are impacted?
+ multiple: true
+ options:
+ - 3006
+ - 3007
+ - Latest
+ - N/A
+ default: 0
+ validations:
+ required: true
+ - type: dropdown
+ id: os
+ attributes:
+ label: Operating System
+ description: What Operating Systems are impacted?
+ multiple: true
+ options:
+ - AlmaLinux 8
+ - AlmaLinux 9
+ - Amazon Linux 2
+ - Amazon Linux 2023
+ - CentOS Stream 9
+ - Debian 11
+ - Debian 12
+ - Fedora
+ - MacOS 13
+ - MacOS 14
+ - openSUSE Leap
+ - Oracle Linux 8
+ - Oracle Linux 9
+ - Photon OS 4
+ - Photon OS 5
+ - RedHat 8
+ - RedHat 9
+ - Rocky Linux 8
+ - Rocky Linux 9
+ - SLES 12 SP5
+ - SLES 15 SP6
+ - Ubuntu 20.04
+ - Ubuntu 22.04
+ - Ubuntu 24.04
+ - Windows Desktop 10
+ - Windows Desktop 11
+ - Windows 2016
+ - Windows 2019
+ - Windows 2022
+ - N/A
+ default: 0
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Relevant log output
+ description: Please copy and paste any relevant shell output. This will be automatically formatted into code, so no need for backticks.
+ render: shell
+ validations:
+ required: false
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 0000000..5ae3e4d
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,18 @@
+## What does this PR do?
+
+> Describe the purpose of the pull request here.
+
+## What issues does this PR fix or reference?
+
+- Fixes:
+OR
+- Relates to:
+
+(Fixes will close the ticket after merging. Relate will leave the ticket open
+after merging.)
+
+## Merge requirements satisfied? (FOR REVIEWER USE ONLY)
+
+- [ ] Verify the pipeline is passing
+- [ ] Check rendered output to ensure formatting is correct for any special
+ directives such as notes, tables, lists, and images
diff --git a/.github/workflows/build-sphinx-docs.yml b/.github/workflows/build-sphinx-docs.yml
new file mode 100644
index 0000000..4137414
--- /dev/null
+++ b/.github/workflows/build-sphinx-docs.yml
@@ -0,0 +1,87 @@
+# Workflow for building a Sphinx site and deploying artifacts to GitHub Releases
+name: Build Sphinx docs
+
+on:
+ push: {}
+ pull_request: {}
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Default to bash
+defaults:
+ run:
+ shell: bash
+
+jobs:
+
+ build:
+ runs-on: ubuntu-24.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Setup Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.13'
+ cache: pip
+ - name: Run pre-commit
+ run: |
+ pip install -U pip setuptools wheel
+ pip install -r .devcontainer/requirements.txt
+ pre-commit install
+ pre-commit run -a -v --color always
+ - name: Build docs
+ run: |
+ nox -e 'docs-html(gen_sitevars=True, clean=True)'
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: salt-install-guide
+ path: ./docs/_build/html/
+ if-no-files-found: error
+ retention-days: 1
+
+ # Release job
+ deploy:
+ permissions:
+ contents: write
+ runs-on: ubuntu-24.04
+ needs:
+ - build
+ if: success() && startsWith(github.ref, 'refs/tags/')
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Download artifacts
+ uses: actions/download-artifact@v4
+ - name: Display all downloaded archives/artifacts
+ run: |
+ ls -lah
+
+ echo "
+ Listing salt-install-guide/*..."
+ ls -lah salt-install-guide/*
+
+ echo "
+ Creating archive of built salt-install-guide..."
+ tar cvfz salt-install-guide.tar.gz salt-install-guide
+
+ echo "
+ Creating checksums.txt..."
+ sha512sum salt-install-guide.tar.gz salt.repo salt.sources | tee checksums.txt
+
+ - name: Release
+ uses: softprops/action-gh-release@v2
+ with:
+ files: |
+ checksums.txt
+ salt.repo
+ salt.sources
+ salt-install-guide.tar.gz
diff --git a/.gitignore b/.gitignore
index dcc305a..2ec736c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -75,7 +75,6 @@ instance/
docs/_build/
## Generated stuff from Sphinx templates
docs/sitevars.rst
-docs/topics/announcements.rst
# PyBuilder
.pybuilder/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100755
index 18e79e0..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,163 +0,0 @@
----
-stages:
- - test
- - build
- - url-test
- - publish
- - upload-prep
- - trigger-upload
-
-include:
- - project: saltstack/pop/cicd/ci-templates
- file: /docswork/publish-docs-gitlab.yml
- - project: saltstack/pop/cicd/ci-templates
- file: /docswork/salt-publish-docs-release.yml
-
-workflow:
- rules:
- - if: $CI_MERGE_REQUEST_ID == null
-
-variables:
- CICD_UPSTREAM_PATH: "saltstack/open/docs/salt-install-guide"
- GIT_STRATEGY: clone
- GIT_DEPTH: 0
-
-pre-commit:
- stage: test
- image: python:3.11-buster
- variables:
- PRE_COMMIT_HOME: "${CI_PROJECT_DIR}/pre-commit-cache"
- cache:
- key: pre-commit-cache
- paths:
- - pre-commit-cache/
- script:
- - pip install -U pip setuptools wheel
- - pip install -r requirements-dev.txt
- - pre-commit install
- - pre-commit run -a -v --color always
-
-build-site-3007:
- stage: build
- image: python:3.11
- script:
- - git checkout v3007
- - pip install -U pip setuptools wheel nox
- - nox -e 'docs-html(download_versions=True, clean=True)'
- - mkdir -p html/en/
- - mv docs/_build/html html/en/3007
- # The following section should only exist on the build meant to be latest build
- # Make sure to modify the first line to target the latest version
- - |
- cp -r html/en/3007 html/en/latest
- echo '' > docs/redirector.html
- echo "
-
-
-
- " >> docs/redirector.html
- cp docs/redirector.html html/index.html
- cp docs/redirector.html html/en/index.html
- sed -i 's:./latest/index.html:./en/latest/index.html:' html/index.html
- artifacts:
- paths:
- - html
- expire_in: 1 days
- rules:
- - if: '$CI_PROJECT_PATH == $CICD_UPSTREAM_PATH'
-
-build-site-3006:
- stage: build
- image: python:3.11
- script:
- - git checkout v3006.0
- - pip install -U pip setuptools wheel nox
- - nox -e 'docs-html(download_versions=True, clean=True)'
- - mkdir -p html/en/
- - mv docs/_build/html html/en/3006
- artifacts:
- paths:
- - html
- expire_in: 1 days
- rules:
- - if: '$CI_PROJECT_PATH == $CICD_UPSTREAM_PATH'
-
-build-site-main:
- stage: build
- image: python:3.11
- script:
- - git checkout main
- - pip install -U pip setuptools wheel nox
- - nox -e 'docs-html(download_versions=True, clean=True)'
- - mkdir -p html/en/
- - mv docs/_build/html html/en/main
- artifacts:
- paths:
- - html
- expire_in: 1 days
- rules:
- - if: '$CI_PROJECT_PATH == $CICD_UPSTREAM_PATH'
-
-build-site-fork:
- stage: build
- image: python:3.11
- script:
- - pip install -U pip setuptools wheel nox
- - nox -e 'docs-html(download_versions=True, clean=True)'
- - mkdir -p html/en/
- - mv docs/_build/html html/en/fork
- # This section ensures that GitLab Pages builds for forks
- # properly build and can be visited
- # ex. https://your-GitLab-username.gitlab.io/salt-install-guide
- # Above redirects to: https://your-GitLab-username.gitlab.io/salt-install-guide/en/fork/index.html
- - |
- echo '' > docs/redirector.html
- echo "
-
-
-
- " >> docs/redirector.html
- cp docs/redirector.html html/index.html
- cp docs/redirector.html html/en/index.html
- sed -i 's:./fork/index.html:./en/fork/index.html:' html/index.html
- artifacts:
- paths:
- - html
- expire_in: 1 days
- rules:
- - if: '$CI_COMMIT_BRANCH != "main" && $CI_COMMIT_BRANCH != "v3007" && $CI_COMMIT_BRANCH != "v3006.0" && $CI_COMMIT_BRANCH != "v3005" && $CI_PROJECT_PATH != $CICD_UPSTREAM_PATH'
-
-url-tester-brok:
- stage: url-test
- image: debian:bullseye-slim
- script:
- - apt-get update && apt-get install wget libtinfo5 -y
- - wget https://github.com/smallhadroncollider/brok/releases/download/1.1.0/brok-1.1.0_x86-64-linux.deb
- - dpkg -i brok-1.1.0_x86-64-linux.deb
- - rm docs/_templates/sitevars.rst
- - brok --ignore $(cat .brokignore) $(find . -type f -name "*.rst") $(find . -type f -name "*.md") $(find . -type f -name "*.toml") $(find . -type f -name "*.sls") $(find . -type f -name "*.py") $(find . -type f -name "*.y*ml") $(find . -type f -name "*.html") > /dev/null
-
-pages:
- stage: publish
-
-upload-prep:
- stage: upload-prep
- image: python:3.11
- script:
- - cp -r public public-prod
- - rm -rf public-prod/en/main
- artifacts:
- paths:
- - public-prod
- expire_in: 1 days
- rules:
- - if: '$CI_PROJECT_PATH == $CICD_UPSTREAM_PATH && $CI_COMMIT_REF_PROTECTED == "true"'
-
-publish-docs:
- stage: trigger-upload
- variables:
- CICD_S3_SOURCE_PATH: "public-prod/"
- CICD_S3_DEST_PATH: "docs.saltproject.io/salt/install-guide/"
- CICD_SOURCE_GITLAB_JOB_NAME: upload-prep
- rules:
- - if: '$CI_COMMIT_REF_PROTECTED == "true" && $CI_PROJECT_PATH == $CICD_UPSTREAM_PATH'
diff --git a/.gitlab/issue_templates/documentation-bug-report.md b/.gitlab/issue_templates/documentation-bug-report.md
deleted file mode 100644
index 2a7eabd..0000000
--- a/.gitlab/issue_templates/documentation-bug-report.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-**Description**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Suggested fix**
-What did you expect to see in the documentation that is missing or needs updating?
-
-**Type of documentation**
-This could be Salt documentation, Salt modules, the Salt Repo or the Getting Started guide.
-
-**Location or format of documentation**
-Insert page URL if applicable.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.gitlab/merge_request_templates/salt-docs-merge-request.md b/.gitlab/merge_request_templates/salt-docs-merge-request.md
deleted file mode 100644
index df9b0a0..0000000
--- a/.gitlab/merge_request_templates/salt-docs-merge-request.md
+++ /dev/null
@@ -1,32 +0,0 @@
-
-## What does this MR do?
-
-Describe the purpose of the merge request here.
-
-
-## What issues does this MR fix or reference?
-
-- Resolves:
-OR
-- Relates to:
-
-(Resolve will close the ticket after merging. Relate will leave the ticket open
-after merging.)
-
-
-## GitLab Pages preview
-
-Include a link to preview the changes you're making on your fork, replacing the
-placeholder text with your GitLab username:
-https://your-GitLab-username.gitlab.io/salt-install-guide/
-
-
-## Merge requirements satisfied? (FOR REVIEWER USE ONLY)
-
-- [ ] Verify the pipeline is passing
-- [ ] Check rendered output to ensure formatting is correct for any special
- directives such as notes, tables, lists, and images
-- [ ] Review new or modified topics to ensure they follow the [style
- guide](https://saltstack.gitlab.io/open/docs/docs-hub/topics/style-guide.html)
-- [ ] Review new or modified topics to ensure they follow the [Writing Salt
- documentation (rST guide)](https://saltstack.gitlab.io/open/docs/docs-hub/topics/rst-guide.html)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 4b403c1..1267af8 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,8 +1,8 @@
---
-minimum_pre_commit_version: 2.9.3
+minimum_pre_commit_version: 4.0.1
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.4.0
+ rev: v5.0.0
hooks:
- id: check-merge-conflict
description: Check for files that contain merge conflict strings.
@@ -28,20 +28,20 @@ repos:
Sort the lines in specified files (defaults to alphabetical).
You must provide list of target files as input in your .pre-commit-config.yaml file.
files: ^(.*requirements.*\.txt|\.brokignore)$
- - repo: https://github.com/timothycrosley/isort
- rev: "5.12.0"
+ - repo: https://github.com/PyCQA/isort
+ rev: "6.0.1"
hooks:
- id: isort
description: isort is a Python utility / library to sort imports automatically.
files: ^((noxfile|conf)|docs/.*)\.py$
- repo: https://github.com/psf/black
- rev: 23.9.1
+ rev: 25.1.0
hooks:
- id: black
description: Forces best practice formatting of Python code files.
files: ^((noxfile|conf)|docs/conf|tools/version-updater|docs/_includes/python/.*)\.py$
- repo: https://github.com/myint/rstcheck
- rev: v6.2.0
+ rev: v6.2.4
hooks:
- id: rstcheck
description: Checks syntax of reStructuredText/rst and code blocks nested within it.
@@ -49,22 +49,22 @@ repos:
additional_dependencies: [sphinx]
files: ^(index|docs/.*|docs/_includes/.*|README|CONTRIBUTING)\.rst$
- repo: https://github.com/asottile/blacken-docs
- rev: 1.16.0
+ rev: 1.19.1
hooks:
- id: blacken-docs
description: Run black on python code blocks in documentation files.
files: ^(index|docs/.*|docs/_includes/.*)\.rst$
- additional_dependencies: [black==23.9.1]
+ additional_dependencies: [black==25.1.0]
-# - repo: https://github.com/saltstack/mirrors-nox
-# rev: v2022.11.21
-# hooks:
-# - id: nox
-# alias: Generate Sphinx docs
-# description: Generate Sphinx docs, ensure they build
-# pass_filenames: false
-# args:
-# - -e
-# - 'docs-html(download_versions=True, clean=True)'
-# - --
-# - -vv
+ - repo: https://github.com/saltstack/mirrors-nox
+ rev: v2022.11.21
+ hooks:
+ - id: nox
+ alias: Generate Sphinx docs
+ description: Generate Sphinx docs, ensure they build
+ pass_filenames: false
+ args:
+ - -e
+ - 'docs-html(gen_sitevars=True, clean=True)'
+ - --
+ - -vv
diff --git a/.rstcheck.cfg b/.rstcheck.cfg
index d0c2c88..6219a6f 100644
--- a/.rstcheck.cfg
+++ b/.rstcheck.cfg
@@ -47,4 +47,24 @@ ignore_substitutions=
windows-x86-exe-md5,
windows-x86-exe-sha256,
windows-amd64-exe-gpg,
+ macos-amd64-one-download,
+ macos-arm64-one-download,
+ macos-amd64-two-download,
+ macos-arm64-two-download,
+ minor-one-version-badge,
+ minor-two-version-badge,
+ windows-amd64-exe-one-download,
+ windows-amd64-msi-one-download,
+ windows-x86-exe-one-download,
+ windows-x86-msi-one-download,
+ windows-amd64-exe-two-download,
+ windows-amd64-msi-two-download,
+ windows-x86-exe-two-download,
+ windows-x86-msi-two-download,
+ minor-one-version,
+ minor-two-version,
+ relenv-one-python-version,
+ relenv-two-python-version,
+ major-one-version-text,
+ major-two-version-text
ignore_messages=(.*(aix|arista)\.rst.* \(ERROR\/3\) Error in "code-block" directive\:$)
diff --git a/README.rst b/README.rst
index ce97b5b..b320b62 100644
--- a/README.rst
+++ b/README.rst
@@ -10,10 +10,6 @@ Salt install guide
:alt: PyPi Package Downloads
:target: https://pypi.org/project/salt
-.. image:: https://img.shields.io/twitch/status/saltprojectoss
- :alt: Salt Project Twitch Channel
- :target: https://www.twitch.tv/saltprojectoss
-
.. image:: https://img.shields.io/reddit/subreddit-subscribers/saltstack?style=social
:alt: Salt Project subreddit
:target: https://www.reddit.com/r/saltstack/
@@ -27,25 +23,21 @@ Salt install guide
If you're looking to install Salt, you've come to the right place!
-- `View the Sphinx-built documentation here `__
-- `View the source repo here `__
+- `View the Sphinx-built documentation here `__
+- `View the source repo here `__
About the Salt install guide
============================
The Salt Install Guide supplements and extends the core documentation for the
`Salt Project `__. This guide is intended to
-help Salt users install ``salt`` in their environment, ultimately superseding
-documentation where applicable:
-
-* Install directions on `repo.saltproject.io `__
-* Install directions on `docs.saltproject.io `__
+help Salt users install ``salt`` in their environment.
Contributions from anyone inside the Salt project community are always welcome.
Please read the :ref:`contributing` for more information. The contributing
guide can also be found in the source repository:
-* `CONTRIBUTING.rst `__
+* `CONTRIBUTING.rst `__
Related links
@@ -78,7 +70,7 @@ The following documentation is part of the Salt Project documentation:
* `Module documentation `__:
The Salt modules and state modules explain the use cases and arguments needed
to execute the Salt modules.
-* `Salt User Guide `__:
+* `Salt User Guide `__:
The Salt User Guide supplements and extends the core documentation for the
Salt Project. This guide is intended to help Salt users learn about Salt's
core concepts and features. It was originally authored by Alan Cugler and
@@ -97,8 +89,28 @@ This repository uses the following tools:
web.
* Sphinx applies the
`Furo Theme for Sphinx `__ to render the site.
-* The guide is hosted directly on GitLab using the
- `GitLab pages `__ feature.
-* GitLab handles the
- `CI/CD pipeline `__
+* The guide is hosted directly on GitHub using the
+ `GitHub pages `__ feature.
+* GitHub Actions handle the
+ `CI/CD pipelines `__
for the project.
+
+Release Process
+===============
+
+New releases of the ``salt-install-guide`` are required in order to ensure the latest docs changes
+make it into ``docs.saltproject.io``, which are collectively published via a private repository
+called ``builddocs``. ``builddocs`` will do the following:
+
+* Downloads the latest tarball builds from GitHub Releases of target docs repos
+ * ``salt-install-guide``
+ * ``salt-user-guide``
+* Build reference docs from ``salt`` repo for supported release versions
+
+To cut a new release of ``salt-install-guide``:
+
+* Create and push a new tag via git
+* The new tag will trigger a GitHub Action workflow which will create a new release
+ * The new release will include the latest built tarball!
+* Upon completion of a new ``salt-install-guide`` release, a new workflow must be launched
+ via ``builddocs`` if wanting these changes to be immediately live
diff --git a/docs/_static/css/announcement-sticky.css b/docs/_static/css/announcement-sticky.css
new file mode 100644
index 0000000..0903269
--- /dev/null
+++ b/docs/_static/css/announcement-sticky.css
@@ -0,0 +1,12 @@
+.announcement {
+ position: fixed;
+ width: 100%;
+ z-index: 100;
+}
+
+.announcement + .page {
+ padding-top: var(--header-height);
+}
+.announcement + .page .mobile-header {
+ top: var(--header-height);
+}
diff --git a/docs/_static/img/repo-landing-small.png b/docs/_static/img/repo-landing-small.png
new file mode 100644
index 0000000..6b7fdc4
Binary files /dev/null and b/docs/_static/img/repo-landing-small.png differ
diff --git a/docs/_templates/sitevars.rst b/docs/_templates/sitevars.rst
index 22898da..d51601d 100644
--- a/docs/_templates/sitevars.rst
+++ b/docs/_templates/sitevars.rst
@@ -1,224 +1,48 @@
-.. |release| replace:: CURRENT_MINOR
-.. |current-major-version| replace:: 3007
-.. |supported-release-1| replace:: LATEST_MINOR
-.. |supported-release-2| replace:: OLD_MINOR
-.. |supported-release-3| replace:: OLDEST_MINOR
-.. |supported-release-1-badge| replace:: :bdg-link-success:`LATEST_MINOR `
-.. |supported-release-2-badge| replace:: :bdg-link-primary:`OLD_MINOR `
-.. |supported-release-3-badge| replace:: :bdg-link-warning:`OLDEST_MINOR `
+.. |major-latest-version| replace:: LATEST_MAJOR
+.. |major-one-version| replace:: ONE_MAJOR
+.. |major-two-version| replace:: TWO_MAJOR
+.. |major-latest-version-text| replace:: LATEST_MAJOR LATEST_SUPPORT_TYPE
+.. |major-one-version-text| replace:: ONE_MAJOR ONE_SUPPORT_TYPE
+.. |major-two-version-text| replace:: TWO_MAJOR TWO_SUPPORT_TYPE
+.. |major-two-version-repo-postfix| replace:: TWO_MAJOR-TWO_LOWER_SUPPORT_TYPE
+.. |minor-latest-version| replace:: LATEST_MINOR
+.. |minor-one-version| replace:: ONE_MINOR
+.. |minor-two-version| replace:: TWO_MINOR
+.. |minor-one-version-badge| replace:: :bdg-link-primary:`ONE_MINOR `
+.. |minor-two-version-badge| replace:: :bdg-link-success:`TWO_MINOR `
+
+.. |relenv-one-python-version| replace:: **Python vONE_RELENV_PYTHON.x**
+.. |relenv-two-python-version| replace:: **Python vTWO_RELENV_PYTHON.x**
.. |quickstart-script-path| replace:: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/salt-quick-start.sh
.. |quickstart-script-path-windows| replace:: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/salt-quick-start.ps1
.. |windows-vs-buildtools-script| replace:: https://raw.githubusercontent.com/saltstack/salt/master/pkg/windows/install_vs_buildtools.ps1
-.. |release-candidate-version| replace:: RC_RELEASE
-.. |debian-release-candidate-gpg| replace:: /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt_rc/salt/py3/debian/11/amd64/latest/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian-release-candidate| replace:: [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg] https://repo.saltproject.io/salt_rc/salt/py3/debian/11/amd64/latest/ bullseye main"
-.. |rhel-release-candidate-gpg| replace:: https://repo.saltproject.io/salt_rc/salt/py3/redhat/9/x86_64/latest/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel-release-candidate| replace:: https://repo.saltproject.io/salt_rc/salt/py3/redhat/9/x86_64/latest.repo
-.. |rhel-release-candidate-echo| replace:: 'baseurl=https://repo.saltproject.io/salt_rc/salt/py3/redhat/$releasever/$basearch/latest'
-.. |ubuntu-release-candidate-gpg| replace:: /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt_rc/salt/py3/ubuntu/22.04/amd64/latest/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu-release-candidate| replace:: [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg] https://repo.saltproject.io/salt_rc/salt/py3/ubuntu/22.04/amd64/latest/ jammy main"
-.. |windows-release-candidate-url| replace:: https://repo.saltproject.io/salt_rc/salt/py3/windows
-.. |windows-release-candidate-amd64-exe-url| replace:: https://repo.saltproject.io/salt_rc/salt/py3/windows/latest/Salt-Minion-RC_RELEASE-Py3-AMD64-Setup.exe
-.. |windows-release-candidate-amd64-exe-file-name| replace:: Salt-Minion-RC_RELEASE-Py3-AMD64-Setup.exe
-.. |windows-release-candidate-amd64-msi-url| replace:: https://repo.saltproject.io/salt_rc/salt/py3/windows/latest/Salt-Minion-RC_RELEASE-Py3-AMD64.msi
-.. |windows-release-candidate-x86-exe-url| replace:: https://repo.saltproject.io/salt_rc/salt/py3/windows/latest/Salt-Minion-RC_RELEASE-Py3-x86-Setup.exe
-.. |windows-release-candidate-x86-msi-url| replace:: https://repo.saltproject.io/salt_rc/salt/py3/windows/latest/Salt-Minion-RC_RELEASE-Py3-x86.msi
-.. |bootstrap-release-candidate| replace:: python3 git vRC_RELEASE
-.. |pip-install-release-candidate| replace:: pip install salt==RC_RELEASE
+.. |release-candidate-version| replace:: RC_FULL_VERSION
+.. |bootstrap-release-candidate| replace:: python3 git vRC_FULL_VERSION
+.. |pip-install-release-candidate| replace:: pip install salt==RC_FULL_VERSION
-.. |amazon-linux2-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/x86_64/latest.repo
-.. |amazon-linux2-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/x86_64/CURRENT_MAJOR.repo
-.. |amazon-linux2-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/x86_64/minor/CURRENT_MINOR.repo
+.. |macos-amd64-one-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/macos/ONE_MINOR/salt-ONE_MINOR-py3-x86_64.pkg
+.. |macos-arm64-one-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/macos/ONE_MINOR/salt-ONE_MINOR-py3-arm64.pkg
-.. |amazon-linux2-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/arm64/latest.repo
-.. |amazon-linux2-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/arm64/CURRENT_MAJOR.repo
-.. |amazon-linux2-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2/arm64/minor/CURRENT_MINOR.repo
+.. |macos-amd64-two-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/macos/TWO_MINOR/salt-TWO_MINOR-py3-x86_64.pkg
+.. |macos-arm64-two-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/macos/TWO_MINOR/salt-TWO_MINOR-py3-arm64.pkg
-.. |amazon-linux2023-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2023-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/x86_64/latest.repo
-.. |amazon-linux2023-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2023-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/x86_64/CURRENT_MAJOR.repo
-.. |amazon-linux2023-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2023-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/x86_64/minor/CURRENT_MINOR.repo
+.. |windows-install-exe-example| replace:: Salt-Minion-ONE_MINOR-Py3-AMD64-Setup.exe
+.. |windows-install-msi-example| replace:: Salt-Minion-ONE_MINOR-Py3-AMD64.msi
-.. |amazon-linux2023-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2023-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/arm64/latest.repo
-.. |amazon-linux2023-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2023-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/arm64/CURRENT_MAJOR.repo
-.. |amazon-linux2023-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |amazon-linux2023-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/amazon/2023/arm64/minor/CURRENT_MINOR.repo
+.. |windows-amd64-exe-one-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/ONE_MINOR/Salt-Minion-ONE_MINOR-Py3-AMD64-Setup.exe
+.. |windows-amd64-msi-one-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/ONE_MINOR/Salt-Minion-ONE_MINOR-Py3-AMD64.msi
+.. |windows-x86-exe-one-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/ONE_MINOR/Salt-Minion-ONE_MINOR-Py3-x86-Setup.exe
+.. |windows-x86-msi-one-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/ONE_MINOR/Salt-Minion-ONE_MINOR-Py3-x86.msi
-.. |rocky9-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky9-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/latest.repo
-.. |rocky9-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky9-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/CURRENT_MAJOR.repo
-.. |rocky9-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky9-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/minor/CURRENT_MINOR.repo
+.. |windows-amd64-exe-two-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/TWO_MINOR/Salt-Minion-TWO_MINOR-Py3-AMD64-Setup.exe
+.. |windows-amd64-msi-two-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/TWO_MINOR/Salt-Minion-TWO_MINOR-Py3-AMD64.msi
+.. |windows-x86-exe-two-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/TWO_MINOR/Salt-Minion-TWO_MINOR-Py3-x86-Setup.exe
+.. |windows-x86-msi-two-download| replace:: https://packages.broadcom.com/artifactory/saltproject-generic/windows/TWO_MINOR/Salt-Minion-TWO_MINOR-Py3-x86.msi
-.. |rocky9-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky9-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/latest.repo
-.. |rocky9-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky9-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/CURRENT_MAJOR.repo
-.. |rocky9-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky9-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/minor/CURRENT_MINOR.repo
-
-.. |rocky8-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky8-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/latest.repo
-.. |rocky8-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky8-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/CURRENT_MAJOR.repo
-.. |rocky8-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky8-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/minor/CURRENT_MINOR.repo
-
-.. |rocky8-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky8-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/latest.repo
-.. |rocky8-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky8-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/CURRENT_MAJOR.repo
-.. |rocky8-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rocky8-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/minor/CURRENT_MINOR.repo
-
-.. |debian12-latest-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian12-latest-download-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main
-.. |debian12-major-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian12-major-download-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/12/amd64/CURRENT_MAJOR bookworm main
-.. |debian12-minor-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian12-minor-download-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/12/amd64/minor/CURRENT_MINOR bookworm main
-
-.. |debian12-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/12/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian12-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/12/arm64/latest bookworm main
-.. |debian12-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/12/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian12-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/12/arm64/CURRENT_MAJOR bookworm main
-.. |debian12-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/12/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian12-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/12/arm64/minor/CURRENT_MINOR bookworm main
-
-.. |debian11-latest-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/11/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian11-latest-download-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/11/amd64/latest bullseye main
-.. |debian11-major-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/11/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian11-major-download-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/11/amd64/CURRENT_MAJOR bullseye main
-.. |debian11-minor-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/11/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian11-minor-download-amd64| replace:: https://repo.saltproject.io/salt/py3/debian/11/amd64/minor/CURRENT_MINOR bullseye main
-
-.. |debian11-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/11/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian11-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/11/arm64/latest bullseye main
-.. |debian11-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/11/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian11-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/11/arm64/CURRENT_MAJOR bullseye main
-.. |debian11-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/11/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |debian11-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/debian/11/arm64/minor/CURRENT_MINOR bullseye main
-
-.. |fedora40-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |fedora40-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/x86_64/latest.repo
-.. |fedora40-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |fedora40-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/x86_64/CURRENT_MAJOR.repo
-.. |fedora40-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |fedora40-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/x86_64/minor/CURRENT_MINOR.repo
-
-.. |fedora40-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |fedora40-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/arm64/latest.repo
-.. |fedora40-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |fedora40-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/arm64/CURRENT_MAJOR.repo
-.. |fedora40-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |fedora40-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/fedora/40/arm64/minor/CURRENT_MINOR.repo
-
-.. |macos-amd64-download| replace:: https://repo.saltproject.io/salt/py3/macos/CURRENT_MAJOR/salt-CURRENT_MINOR-py3-x86_64.pkg
-.. |macos-amd64-gpg| replace:: https://repo.saltproject.io/salt/py3/macos/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |macos-arm64-download| replace:: https://repo.saltproject.io/salt/py3/macos/CURRENT_MAJOR/salt-CURRENT_MINOR-py3-arm64.pkg
-
-.. |photonos5-latest-gpg| replace:: https://repo.saltproject.io/salt/py3/photon/5.0/x86_64/latest/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |photonos5-latest-download| replace:: https://repo.saltproject.io/salt/py3/photon/5.0/x86_64/latest.repo
-.. |photonos5-major-gpg| replace:: https://repo.saltproject.io/salt/py3/photon/5.0/x86_64/latest/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |photonos5-major-download| replace:: https://repo.saltproject.io/salt/py3/photon/5.0/x86_64/CURRENT_MAJOR.repo
-.. |photonos5-minor-gpg| replace:: https://repo.saltproject.io/salt/py3/photon/5.0/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |photonos5-minor-download| replace:: https://repo.saltproject.io/salt/py3/photon/5.0/x86_64/minor/CURRENT_MINOR.repo
-
-.. |photonos4-latest-gpg| replace:: https://repo.saltproject.io/salt/py3/photon/4.0/x86_64/latest/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |photonos4-latest-download| replace:: https://repo.saltproject.io/salt/py3/photon/4.0/x86_64/latest.repo
-.. |photonos4-major-gpg| replace:: https://repo.saltproject.io/salt/py3/photon/4.0/x86_64/latest/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |photonos4-major-download| replace:: https://repo.saltproject.io/salt/py3/photon/4.0/x86_64/CURRENT_MAJOR.repo
-.. |photonos4-minor-gpg| replace:: https://repo.saltproject.io/salt/py3/photon/4.0/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |photonos4-minor-download| replace:: https://repo.saltproject.io/salt/py3/photon/4.0/x86_64/minor/CURRENT_MINOR.repo
-
-.. |rhel9-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel9-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/latest.repo
-.. |rhel9-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel9-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/CURRENT_MAJOR.repo
-.. |rhel9-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel9-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/x86_64/minor/CURRENT_MINOR.repo
-
-.. |rhel9-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel9-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/latest.repo
-.. |rhel9-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel9-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/CURRENT_MAJOR.repo
-.. |rhel9-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel9-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/9/arm64/minor/CURRENT_MINOR.repo
-
-.. |rhel8-latest-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel8-latest-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/latest.repo
-.. |rhel8-major-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel8-major-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/CURRENT_MAJOR.repo
-.. |rhel8-minor-gpg-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel8-minor-download-x86_64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/x86_64/minor/CURRENT_MINOR.repo
-
-.. |rhel8-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel8-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/latest.repo
-.. |rhel8-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel8-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/CURRENT_MAJOR.repo
-.. |rhel8-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/SALT-PROJECT-GPG-PUBKEY-2023.pub
-.. |rhel8-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/redhat/8/arm64/minor/CURRENT_MINOR.repo
-
-.. |ubuntu24-latest-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu24-latest-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/latest noble main
-.. |ubuntu24-major-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu24-major-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/CURRENT_MAJOR noble main
-.. |ubuntu24-minor-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu24-minor-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/minor/CURRENT_MINOR noble main
-
-.. |ubuntu24-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu24-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/arm64/latest noble main
-.. |ubuntu24-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu24-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/arm64/CURRENT_MAJOR noble main
-.. |ubuntu24-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu24-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/24.04/arm64/minor/CURRENT_MINOR noble main
-
-.. |ubuntu22-latest-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu22-latest-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/latest jammy main
-.. |ubuntu22-major-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu22-major-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/CURRENT_MAJOR jammy main
-.. |ubuntu22-minor-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu22-minor-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/minor/CURRENT_MINOR jammy main
-
-.. |ubuntu22-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu22-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/arm64/latest jammy main
-.. |ubuntu22-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu22-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/arm64/CURRENT_MAJOR jammy main
-.. |ubuntu22-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu22-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/22.04/arm64/minor/CURRENT_MINOR jammy main
-
-.. |ubuntu20-latest-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu20-latest-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/latest focal main
-.. |ubuntu20-major-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu20-major-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/CURRENT_MAJOR focal main
-.. |ubuntu20-minor-gpg-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu20-minor-download-amd64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/minor/CURRENT_MINOR focal main
-
-.. |ubuntu20-latest-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu20-latest-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/arm64/latest focal main
-.. |ubuntu20-major-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu20-major-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/arm64/CURRENT_MAJOR focal main
-.. |ubuntu20-minor-gpg-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/arm64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |ubuntu20-minor-download-arm64| replace:: https://repo.saltproject.io/salt/py3/ubuntu/20.04/arm64/minor/CURRENT_MINOR focal main
-
-.. |windows-install-exe-example| replace:: Salt-Minion-CURRENT_MINOR-Py3-AMD64-Setup.exe
-.. |windows-install-msi-example| replace:: Salt-Minion-CURRENT_MINOR-Py3-AMD64.msi
-
-.. |windows-amd64-exe-gpg| replace:: https://repo.saltproject.io/salt/py3/windows/SALT-PROJECT-GPG-PUBKEY-2023.gpg
-.. |windows-amd64-exe-download| replace:: https://repo.saltproject.io/salt/py3/windows/CURRENT_MAJOR/Salt-Minion-CURRENT_MINOR-Py3-AMD64-Setup.exe
-.. |windows-amd64-msi-download| replace:: https://repo.saltproject.io/salt/py3/windows/CURRENT_MAJOR/Salt-Minion-CURRENT_MINOR-Py3-AMD64.msi
-.. |windows-x86-exe-download| replace:: https://repo.saltproject.io/salt/py3/windows/CURRENT_MAJOR/Salt-Minion-CURRENT_MINOR-Py3-x86-Setup.exe
-.. |windows-x86-msi-download| replace:: https://repo.saltproject.io/salt/py3/windows/CURRENT_MAJOR/Salt-Minion-CURRENT_MINOR-Py3-x86.msi
+.. |windows-release-candidate-amd64-exe-file-name| replace:: TBD
+.. |windows-release-candidate-amd64-exe-url| replace:: TBD
+.. |windows-release-candidate-amd64-msi-url| replace:: TBD
+.. |windows-release-candidate-x86-exe-url| replace:: TBD
+.. |windows-release-candidate-x86-msi-url| replace:: TBD
diff --git a/docs/conf.py b/docs/conf.py
index 09d9518..3c02e9b 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -16,10 +16,9 @@
import datetime
import os
-import requests
+# import requests
from docutils import nodes
from docutils.nodes import Element
-from salt_furo_versioner import make_html_context
from sphinx.writers.html import HTMLTranslator
@@ -93,37 +92,7 @@ def setup(app):
"\n".join(site_vars[:])
)
-# Pull release from "release" in sitevars.rst
-release = [s for s in site_vars if "|release|" in s][0].split(":: ")[1]
-version = release
-
-# Grab major version for URL version selector generation
-current_version = version.split(".")[0]
-
-##
-# Furo theme version selector setup
-##
-# Pull from JSON in GitLab Snippet
-supported_versions_json = requests.get(
- "https://gitlab.com/saltstack/open/docs/salt-install-guide/-/snippets/2580440/raw/main/supported-versions.json"
-)
-supported_versions = supported_versions_json.json()
-supported_major_versions = [
- full_version.split(".")[0]
- for full_version in supported_versions["supported_versions"]
-]
-supported_major_versions.sort()
-
-# Build out version menu
-latest_version = supported_versions["latest_version"].split(".")[0]
-versions = supported_major_versions
-url_prefix = "https://docs.saltproject.io/salt/install-guide/en/"
-html_context = make_html_context(
- url_prefix=url_prefix,
- current_version=current_version,
- latest_version=latest_version,
- versions=versions,
-)
+version = "latest"
# -- General configuration ---------------------------------------------------
@@ -141,13 +110,13 @@ def setup(app):
"sphinx.ext.todo",
"sphinx-prompt", # Required by sphinx_substitution_extensions
"sphinx_inline_tabs",
- # "sphinx_multiversion", # To ensure publishing of mulitple, versioned sites
"sphinx_substitution_extensions",
+ "sphinx_sitemap",
]
# Render TODO directives
todo_include_todos = True
-source_suffix = ".rst"
+source_suffix = {".rst": "restructuredtext"}
# Add any paths that contain templates here, relative to this directory.
# templates_path = ["_templates"]
@@ -164,7 +133,6 @@ def setup(app):
"_templates/*.rst",
]
-
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
@@ -176,13 +144,22 @@ def setup(app):
html_show_sourcelink = True # False on private repos; True on public repos
html_theme = "furo"
html_title = "Salt install guide"
+html_baseurl = "https://docs.saltproject.io/salt/install-guide/"
+
+# Extends baseurl, in combination with version value
+sitemap_locales = ["en"]
+# Pages we don't care to include in generated sitemap file
+sitemap_excludes = [
+ "search.html",
+ "genindex.html",
+]
html_theme_options = {
"dark_css_variables": {
"color-brand-primary": "#66CCF4",
"color-brand-content": "#66CCF4",
},
- "announcement": "You are currently viewing the 3007 STS version of the Salt install guide. Use the LTS version of Salt in production environments.
To change to the 3006 LTS version, use the version selector at the bottom of the left menu bar.",
+ # "announcement": 'IMPORTANT ANNOUNCEMENT: repo.saltproject.io has migrated to packages.broadcom.com!
Click here for migration FAQs (2024-11-22)',
}
# Add any paths that contain custom static files (such as style sheets) here,
@@ -193,16 +170,13 @@ def setup(app):
# These paths are either relative to html_static_path
# or fully qualified paths (eg. https://example.com)
html_css_files = [
+ "css/announcement-sticky.css",
"css/import-all-salt-docs.css",
"css/local-testing.css",
]
copybutton_selector = "div:not(.no-copybutton) > div.highlight > pre"
-# Sphinx Multiversion options
-# smv_branch_whitelist = r'^30.*$'
-# smv_latest_version = "3005"
-
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
# For example, official Salt Project docs use images from the salt-branding-guide
@@ -224,25 +198,3 @@ def setup(app):
# html_favicon = "https://gitlab.com/saltstack/open/salt-branding-guide/-/raw/master/logos/SaltProject_Logomark_teal.png"
# Example for <4.0.0 of Sphinx, if added into _static/img/ and html_static_path is valid
html_favicon = "_static/img/SaltProject_Logomark_teal.png"
-
-###
-# PDF Generation / LaTeX configuration
-###
-# If generating PDFs in the future, should ensure external logo is copied local
-# https://gitlab.com/saltstack/open/salt-branding-guide/-/raw/master/logos/SaltProject_altlogo_teal.png?inline=true
-# latex_logo = "docs/_static/img/SaltProject_verticallogo_black.png"
-
-# Linux Biolinum, Linux Libertine: https://en.wikipedia.org/wiki/Linux_Libertine
-# Source Code Pro: https://github.com/adobe-fonts/source-code-pro/releases
-latex_elements = {
- "inputenc": "",
- "utf8extra": "",
- "preamble": r"""
- \usepackage{fontspec}
- \setsansfont{Linux Biolinum O}
- \setromanfont{Linux Libertine O}
- \setmonofont{Source Code Pro}
-""",
-}
-
-suppress_warnings = ["autosectionlabel.*"]
diff --git a/docs/index.rst b/docs/index.rst
index 319dcdc..61fdf83 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -4,7 +4,7 @@
Install Salt
============
-.. include:: topics/_includes/install-overview.rst
+.. include:: topics/_includes/repo-landing.rst
.. toctree::
@@ -62,7 +62,7 @@ Install Salt
:hidden:
:caption: Contribute
- Open a Salt issue to report install bugs
- Open a docs issue
+ Open a Salt issue to report bugs
+ Open an Install Guide docs issue
Salt docs contributing guide
- GitLab repository
+ Salt Install Guide source
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 65a7df3..8f2a9ec 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,12 +1,9 @@
-# If using version selector, use
-# Temporary Furo theme target for versioning
-# furo>=2022.6.21
-Sphinx-Substitution-Extensions>=2022.2.16
-requests>=2.31.0
-salt-furo-versioner @ git+https://github.com/ScriptAutomate/salt-furo-versioner@excelsior
-sphinx-copybutton>=0.5.0
-sphinx-design
-sphinx-inline-tabs>=2022.1.2b11
-sphinx-prompt
-sphinx-tabs>=3.4.1
+furo>=2024.8.6
+sphinx-copybutton>=0.5.2
+sphinx-design>=0.5.0
+sphinx-inline-tabs>=2023.4.21
+sphinx-prompt>=1.5.0
+sphinx-sitemap==2.6.0
+sphinx-substitution-extensions>=2022.02.16
+sphinx-tabs>=3.4.7
sphinx>=5.3.0
diff --git a/docs/topics/_includes/fips-photon-os.rst b/docs/topics/_includes/fips-photon-os.rst
deleted file mode 100644
index 866a0b1..0000000
--- a/docs/topics/_includes/fips-photon-os.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-.. Warning::
-
- The 3006 version of Salt for Photon OS, starting with 3006.5, is FIPS compliant.
-
- If your organization requires FIPS compliance and you need to install Salt on
- Photon OS 4 or greater, and install at least the 3006.5 version of Salt.
diff --git a/docs/topics/_includes/gpg-keys.rst b/docs/topics/_includes/gpg-keys.rst
index e8e85bc..f953d67 100644
--- a/docs/topics/_includes/gpg-keys.rst
+++ b/docs/topics/_includes/gpg-keys.rst
@@ -1,5 +1,5 @@
.. admonition:: GPG key change
- The GPG key for the |release| release is now named:
- SALT-PROJECT-GPG-PUBKEY-2023. You must import the new GPG key before
- upgrading or your upgrade will fail.
+ The GPG key for Salt 3005, and earlier, used an older GPG key.
+ You must import the new GPG key before upgrading or your upgrade will fail.
+ See :ref:`install-by-operating-system-index` for the specific commands.
diff --git a/docs/topics/_includes/install-method.rst b/docs/topics/_includes/install-method.rst
index 5bbc6f8..70f508e 100644
--- a/docs/topics/_includes/install-method.rst
+++ b/docs/topics/_includes/install-method.rst
@@ -1,5 +1,9 @@
-The Salt Project provides a public repository for packages at the
-`Salt Project Package Repo `__.
+The Salt Project provides public repositories for packages on the
+public Broadcom Artifactory endpoint:
+
+* `Salt Project RPM Repo `__
+* `Salt Project DEB Repo `__
+* `Salt Project Generic Repo (Windows, MacOS, etc.) `__
The preferred method for installing Salt is using distribution packages. This
method ensures that:
@@ -9,4 +13,6 @@ method ensures that:
.. Note::
Salt is often distributed in split packages, but only the ``salt-master``
- and ``salt-minion`` packages are required for Salt to function.
+ and ``salt-minion`` packages are required for Salt to function. If only
+ desiring to run Salt in a masterless setup, then only ``salt-minion`` is
+ required.
diff --git a/docs/topics/_includes/macos-downloads.rst b/docs/topics/_includes/macos-downloads.rst
index abb1ece..d5a94dd 100644
--- a/docs/topics/_includes/macos-downloads.rst
+++ b/docs/topics/_includes/macos-downloads.rst
@@ -1,19 +1,39 @@
+|major-one-version-text| Downloads
+----------------------------------
+
+.. list-table::
+ :widths: 10 10 40
+ :header-rows: 1
+ :class: windows-mac-download
+
+ * - Arch
+ - Salt Release Type
+ - Download install file
+
+ * - x86_64
+ - lts
+ - |macos-amd64-one-download|
+
+ * - arm64
+ - lts
+ - |macos-arm64-one-download|
+
+|major-two-version-text| Downloads
+----------------------------------
+
.. list-table::
- :widths: 10 10 40 40
+ :widths: 10 10 40
:header-rows: 1
:class: windows-mac-download
* - Arch
- - File type
+ - Salt Release Type
- Download install file
- - GPG
* - x86_64
- - pkg
- - |macos-amd64-download|
- - |macos-amd64-gpg|
+ - sts
+ - |macos-amd64-two-download|
* - arm64
- - pkg
- - |macos-arm64-download|
- - |macos-amd64-gpg|
+ - sts
+ - |macos-arm64-two-download|
diff --git a/docs/topics/_includes/repo-landing.rst b/docs/topics/_includes/repo-landing.rst
new file mode 100644
index 0000000..c7f20fc
--- /dev/null
+++ b/docs/topics/_includes/repo-landing.rst
@@ -0,0 +1,102 @@
+.. div:: landing-title
+
+ .. grid::
+ :reverse:
+ :gutter: 2 3 3 3
+ :margin: 4 4 1 2
+
+ .. grid-item::
+ :columns: 12 3 3 3
+ :class: sd-m-auto sd-animate-grow50-rot20
+
+ .. image:: /_static/img/repo-landing-small.png
+ :width: 125
+ :alt: Salt Project install guide logo
+
+ .. grid-item::
+ :columns: 12 9 9 9
+ :class: sd-text-white sd-fs-2 sd-text-center
+
+ The Salt install guide
+
+ .. button-link:: https://docs.saltproject.io/en/master/topics/tutorials/walkthrough.html
+ :color: light
+ :align: center
+ :outline:
+
+ New to Salt? Try this tutorial
+
+=======
+Welcome
+=======
+
+Welcome to the Salt install guide! This guide provides instructions for
+installing Salt on :ref:`salt-supported-operating-systems`. It also explains
+how to configure Salt, start Salt services, and verify your installation.
+
+Note that the Salt Project has phased out classic package builds for supported
+operating systems for 3006 and later. Update your Salt infrastructure to the new
+onedir packages as soon as possible. See :ref:`upgrade-to-onedir` for
+instructions.
+
+Install Salt
+============
+
+.. grid:: 3
+
+ .. grid-item::
+
+ .. button-link:: topics/overview.html
+ :color: primary
+ :expand:
+
+ Install overview :octicon:`arrow-up-right`
+
+ .. grid-item::
+
+ .. button-link:: topics/bootstrap.html
+ :color: primary
+ :expand:
+
+ Bootstrap install :octicon:`arrow-up-right`
+
+ .. grid-item::
+
+ .. button-link:: topics/salt-supported-operating-systems.html
+ :color: primary
+ :expand:
+
+ Supported systems :octicon:`arrow-up-right`
+
+Quick install by operating system
+=================================
+
+Operating systems are listed in alphabetical order:
+
+.. grid:: 2
+ :gutter: 3
+
+ .. grid-item-card:: Linux (DEB)
+ :class-card: sd-border-1
+ :link: topics/install-by-operating-system/linux-deb.html
+
+ :bdg-primary:`Debian-like Systems`
+
+ .. grid-item-card:: Linux (RPM)
+ :class-card: sd-border-1
+ :link: topics/install-by-operating-system/linux-rpm.html
+
+ :bdg-primary:`RHEL-like systems`
+
+ .. grid-item-card:: macOS
+ :class-card: sd-border-1
+ :link: topics/install-by-operating-system/macos.html
+
+ :bdg-primary:`pkg`
+
+ .. grid-item-card:: Windows
+ :class-card: sd-border-1
+ :link: topics/install-by-operating-system/windows.html
+
+ :bdg-primary:`exe`
+ :bdg-secondary:`msi`
diff --git a/docs/topics/_includes/supported-salt-releases-sidebar.rst b/docs/topics/_includes/supported-salt-releases-sidebar.rst
index a6784ef..7805345 100644
--- a/docs/topics/_includes/supported-salt-releases-sidebar.rst
+++ b/docs/topics/_includes/supported-salt-releases-sidebar.rst
@@ -1,6 +1,6 @@
.. sidebar:: **Supported Salt releases**
- |supported-release-1-badge| |supported-release-2-badge|
+ |minor-one-version-badge| |minor-two-version-badge|
**See also**
diff --git a/docs/topics/_includes/warning-about-old-packages.rst b/docs/topics/_includes/warning-about-old-packages.rst
deleted file mode 100644
index c0bed5f..0000000
--- a/docs/topics/_includes/warning-about-old-packages.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-.. Warning::
-
- The Salt Project will support the classic, non-onedir packaging system until
- the 3006 release. After that time, onedir will become the standard packaging
- system for the Salt Project. The following instructions explain how to
- install Salt using the classic packaging system, but you should consider
- upgrading to onedir soon. See :ref:`upgrade-to-onedir` for more information.
-
- In order to prevent problems running classic Salt packages, you should run
- Salt with the default version of Python that was originally packaged with that
- operating system. For example, RedHat 8 and CentOS 8 should use Python 3.6.
- Using any other version could prevent Salt from working properly.
diff --git a/docs/topics/_includes/what-is-a-native-minion.rst b/docs/topics/_includes/what-is-a-native-minion.rst
deleted file mode 100644
index 325ba66..0000000
--- a/docs/topics/_includes/what-is-a-native-minion.rst
+++ /dev/null
@@ -1,30 +0,0 @@
-.. dropdown:: What are Salt native minions?
-
- Salt can target network-connected devices through `Salt proxy
- minions `_.
- Proxy minions are a Salt feature that enables controlling devices that,
- for whatever reason, cannot run the standard salt-minion service. Examples
- include network gear that has an API but runs a proprietary OS, devices with
- limited CPU or memory, or devices that could run a minion but, for security
- reasons, will not.
-
- **Salt native minions** are packaged to run directly on specific devices,
- removing the need for proxy minions running elsewhere on a network. Native
- minions have several advantages, such as:
-
- * **Performance boosts:** With native minions, Salt doesn’t need to rely on
- constant SSH connections across the network. There is also less burden on
- the servers running multiple proxy minions.
- * **Higher availability:** For servers running multiple proxy minions,
- server issues can cause connection problems to all proxy minions being
- managed by the server. Native minions remove this potential point of
- failure.
- * **Improved scalability:** When adding devices to a network that are
- supported by native minions, you aren’t required to deploy proxy minions
- on separate infrastructure. This reduces the burden of horizontally or
- vertically scaling infrastructure dedicated to proxy minions.
-
-
- .. Note::
- For an overview of how Salt works, see `Salt system architecture
- `_.
diff --git a/docs/topics/_includes/what-is-onedir.rst b/docs/topics/_includes/what-is-onedir.rst
index 403e2ad..b4b4a03 100644
--- a/docs/topics/_includes/what-is-onedir.rst
+++ b/docs/topics/_includes/what-is-onedir.rst
@@ -4,7 +4,7 @@
include the version of Python needed to run Salt and Salt's required
dependencies.
- Beginning with the release of Salt 3006 (Sulfur), the Salt Project has phased
+ Beginning with the release of Salt 3006 LTS (Sulfur), the Salt Project has phased
out classic package builds for supported operating systems. Update your Salt
infrastructure to the onedir packages as soon as possible. See
:ref:`upgrade-to-onedir` for more information.
diff --git a/docs/topics/_includes/windows-downloads.rst b/docs/topics/_includes/windows-downloads.rst
index c738924..dbfc722 100644
--- a/docs/topics/_includes/windows-downloads.rst
+++ b/docs/topics/_includes/windows-downloads.rst
@@ -1,24 +1,65 @@
+|major-one-version-text| Downloads
+----------------------------------
+
+.. list-table::
+ :widths: 10 10 15 65
+ :header-rows: 1
+ :class: windows-mac-download
+
+ * - Arch
+ - File type
+ - Salt Release Type
+ - Download install file
+
+ * - AMD64
+ - exe
+ - LTS
+ - |windows-amd64-exe-one-download|
+
+ * - AMD64
+ - msi
+ - LTS
+ - |windows-amd64-msi-one-download|
+
+ * - x86
+ - exe
+ - LTS
+ - |windows-x86-exe-one-download|
+
+ * - x86
+ - msi
+ - LTS
+ - |windows-x86-msi-one-download|
+
+|major-two-version-text| Downloads
+----------------------------------
+
.. list-table::
- :widths: 10 10 80
+ :widths: 10 10 15 65
:header-rows: 1
:class: windows-mac-download
* - Arch
- File type
+ - Salt Release Type
- Download install file
* - AMD64
- exe
- - |windows-amd64-exe-download|
+ - STS
+ - |windows-amd64-exe-two-download|
* - AMD64
- msi
- - |windows-amd64-msi-download|
+ - STS
+ - |windows-amd64-msi-two-download|
* - x86
- exe
- - |windows-x86-exe-download|
+ - STS
+ - |windows-x86-exe-two-download|
* - x86
- msi
- - |windows-x86-msi-download|
+ - STS
+ - |windows-x86-msi-two-download|
diff --git a/docs/topics/access-old-packages.rst b/docs/topics/access-old-packages.rst
index 130fac0..a3948e4 100644
--- a/docs/topics/access-old-packages.rst
+++ b/docs/topics/access-old-packages.rst
@@ -6,8 +6,8 @@ Access old packages of Salt
The current supported versions of Salt are:
-* |supported-release-1|
-* |supported-release-2|
+* Salt |minor-one-version|
+* Salt |minor-two-version|
See :ref:`salt-version-support-lifecycle` for more information about the support
policy for older versions.
@@ -17,17 +17,8 @@ policy for older versions.
you will no longer receive package updates from Salt, including important
security updates such as CVE releases.
-Packages for unsupported versions of Salt are available in the repository
-archives. Once a version of Salt enters extended life support, it is moved into
-the repository archives and the package URL changes so that it is prepended with
-``archive``. For example:
+.. warning::
-.. list-table::
- :widths: 20 80
- :stub-columns: 1
-
- * - Previous URL
- - https://repo.saltproject.io/py3/amazon/2/x86_64/3001.repo
-
- * - Archive URL
- - https://archive.repo.saltproject.io/py3/amazon/2/x86_64/3001.repo
+ Packages for unsupported versions of Salt, older than Salt 3006 LTS, are
+ **NO LONGER AVAILABLE** in the Salt package repositories. See
+ `FAQs from Salt Project Repo Migration and Open Hour `__
diff --git a/docs/topics/announcements.rst b/docs/topics/announcements.rst
new file mode 100644
index 0000000..2b9d035
--- /dev/null
+++ b/docs/topics/announcements.rst
@@ -0,0 +1,50 @@
+.. _announcements:
+
+=============
+Announcements
+=============
+
+.. |date| date::
+
+.. article-info::
+ :avatar: ../_static/img/SaltProject_Logomark_teal.png
+ :avatar-link: https://saltproject.io/
+ :avatar-outline: muted
+ :date: Last updated on |date|
+ :author: **The Salt Project**
+ :class-container: sd-p-2 sd-outline-muted sd-rounded-1
+
+
+Security announcements
+======================
+
+See `Security announcements `_
+for the latest announcements.
+
+.. Important::
+ To be notified of the latest security updates, subscribe to the
+ `Salt security announcements RSS feed `_.
+
+
+Release announcements
+=====================
+
+* **March 19, 2025:** `3006.10 `_ is now available.
+* **July 30, 2024:** `3006.9 `_ is now available.
+* **May 22, 2024:** `3007.1 `_ is now available.
+* **April 30, 2024:** `3006.8 `_ is now available.
+* **March 6, 2024:** `3007.0 `_ is now available.
+* **February 21, 2024:** `3006.7 `_ is now available.
+* **January 31, 2024:** `3006.6 `_ is now available.
+* **January 31, 2024:** `3005.5 `_ is now available.
+* **December 12, 2023:** `3006.5 `_ is now available.
+* **October 27, 2023:** `3006.4 `_ is now available.
+* **October 27, 2023:** `3005.4 `_ is now available.
+* **September 21, 2023:** `3005.3 `_ is now available.
+* **September 7, 2023:** `3006.3 `_ is now available.
+* **August 10, 2023:** `3006.2 `_ is now available.
+* **August 10, 2023:** `3005.2 `_ is now available.
+* **May 5, 2023:** `3006.1 `_ is now available.
+* **April 18, 2023:** `3006.0 `_ is now available.
+* **October 4, 2022:** `3005.1 `_ is now available.
+* **August 25, 2022:** `3005 `_ is now available.
diff --git a/docs/topics/bootstrap.rst b/docs/topics/bootstrap.rst
index 1fd9705..63812e4 100644
--- a/docs/topics/bootstrap.rst
+++ b/docs/topics/bootstrap.rst
@@ -9,440 +9,43 @@ Bootstrap installation
About the Salt bootstrap installation
=====================================
-The `Salt Bootstrap project `_ maintains a
-Bash shell script that installs Salt on any Linux/Unix platform. The script
-installs ``salt-master`` and ``salt-minion`` system packages and enables Salt
-services automatically.
-This script only works on Unix-like operating systems such as FreeBSD and Linux.
-For most installation, the best options are typically ``stable`` and a version.
+The `Salt Bootstrap project `_ maintains a
+Bash shell script that installs Salt on Linux/macOS, and a PowerShell script that installs on
+Windows platforms. The script can install ``salt-master``, ``salt-minion``, and other
+system packages while enabling Salt services automatically.
-``-P`` is also needed for Ubuntu-based distributions. If the bootstrap script
-can't find a package for a needed file, ``-P`` then installs it through pip.
+For most installations, the best options are typically ``stable`` and a version. ``stable``
+will install the official packages that are fully tested with Salt's included version of Python
+and dependencies (AKA ``onedir``) from `relenv `__, and
+are functional across a wide range of operating systems.
For example:
-
.. parsed-literal::
- bootstrap-salt.sh -P stable |release|
-
-For more information, see:
-
-* `Installation types`_
-* `Commonly used bootstrap script options`_
-* `Additional bootstrap script options`_
-
-The source code and reference documentation for the bootstrap script is on the
-`salt-bootstrap `_
-repository.
-
-.. Warning::
- The bootstrap script can only install packages that are on
- `repo.saltproject.io `__. It will not work
- with packages on `archive.repo.saltproject.io `__,
- which contains the old packages for unsupported versions.
-
-
-Install using the bootstrap script
-==================================
-The bootstrap script can be used to install specific services:
-
-#. Download the install script using the following command:
-
- .. code-block:: bash
-
- curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io
-
- .. Note::
- Alternatively, to download the bash script and run it immediately, use:
-
- .. code-block:: bash
-
- curl -L https://bootstrap.saltproject.io | sudo sh -s --
-
-
- .. Warning::
- By default, the bootstrap script installs classic packages of Salt 3005
- unless you use the ``onedir`` option. See `Installation types`_ for
- more information.
-
-
-#. Optional: Use the following command to make the bootstrap script executable:
-
- .. code-block:: bash
-
- chmod +x bootstrap-salt.sh
-
-#. Run the bash script to install Salt services. Add option flags as needed to
- customize the installation. See `Commonly used bootstrap script options`_
- and `Additional bootstrap script options`_ for more information.
-
- For example, to run the default, which only installs the minion service:
-
- .. code-block:: bash
-
- ./bootstrap-salt.sh
-
- To install both the Salt master and minion services:
-
- .. code-block:: bash
-
- ./bootstrap-salt.sh -M
-
- To install just the Salt master service:
-
- .. code-block:: bash
-
- ./bootstrap-salt.sh -M -N
-
- To perform a pip-based installation:
-
- .. code-block:: bash
-
- ./bootstrap-salt.sh -P
-
-
-.. Tip::
- The `Salt bootstrap README `_
- provides additional examples for a variety of installation scenarios.
- Consider reading it for more information.
-
-
-Installation types
-==================
-
-.. list-table::
- :widths: 20 40 40
- :header-rows: 1
-
- * - Type
- - Description
- - Arguments
-
- * - ``stable``
- - Installs the latest stable release, which is the default installation
- type.
- - If you don't provide an argument, the latest stable release is used by
- default.
-
- Example:
-
- .. code-block:: bash
-
- bootstrap-salt.sh stable
-
- * - ``stable [version]``
- - Install a specific version. Only supported for packages available at
- `repo.saltproject.io `__. To pin a 3xxx
- minor version, specify it as ``3xxx.0``.
- - Pass the version number of Salt release that you want to install.
-
- Example:
-
- .. parsed-literal::
-
- bootstrap-salt.sh -P stable |release|
- bootstrap-salt.sh stable v3004.2
-
- * - ``onedir``
- - Install the onedir version of the Salt 3005 release. By default, the
- bootstrap script installs classic packages of Salt 3005. See
- :ref:`upgrade-to-onedir` for more information about onedir.
- - Pass the onedir option to install onedir packages.
-
- Example:
-
- .. parsed-literal::
-
- bootstrap-salt.sh -P onedir
-
- * - ``testing``
- - This installation type is specific to the RHEL-family of operating
- systems. Use this to configure EPEL testing repository.
- - No arguments.
-
- Example:
-
- .. code-block:: bash
-
- bootstrap-salt.sh testing
-
- * - ``git``
- - Install from the head of the default branch (master or main).
- - If you don't provide an argument, the latest head from the default branch
- is used by default.
-
- Example:
-
- .. code-block:: bash
-
- bootstrap-salt.sh git
- bootstrap-salt.sh git develop
-
-
- * - ``git [ref]``
- - Install from any git reference (such as a branch, tag, or commit).
- - Pass in a git reference, such as a branch, tag, or commit to install from.
-
- Example:
-
- .. code-block:: bash
-
- bootstrap-salt.sh git 3003.3
- bootstrap-salt.sh git v3002.7
-
-
-
-Commonly used bootstrap script options
-======================================
-You can combine options that don't take arguments together, if needed. For
-example:
-
-.. code-block:: bash
-
- ./bootstrap-salt.sh -MNP
-
-The following are the most commonly used bootstrap options:
-
-.. list-table::
- :widths: 20 40 40
- :header-rows: 1
-
- * - Option
- - Description
- - Arguments
-
- * - ``-M``
- - Install the ``salt-master`` service.
- - No arguments.
-
- * - ``-P``
- - Install from packages. Use ``pip`` if that fails.
- - No arguments.
-
- * - ``-U``
- - Update all packages through the operating systems package manager before
- installing. NOTE: Running this operation may take a long time.
- - No arguments.
-
- * - ``-A ``
- - Declares the IP address or FQDN of the Salt master that the Salt minion
- will connect to and be eventually managed by. When the Salt minion service
- first starts, the minion will send its key to the Salt master at this
- IP address or hostname (FQDN) for acceptance.
- - The ``-A`` flag needs to be followed by an argument that includes the Salt
- master's IP address. This flag creates the
- ``/etc/salt/minion.d/99-master-address.conf`` file with the content that
- lists the master's IP address or FQDN.
-
- Example:
-
- .. parsed-literal::
-
- bootstrap-salt.sh -A 192.0.2.1 stable |release|
- bootstrap-salt.sh -A fqdn.example.com stable |release|
-
- * - ``-i ``
- - The ``-i`` flag sets the ``/etc/salt/minion_id`` file to the minion ID you
- want to assign a custom ID to the Salt minion. The minion ID is the name
- that the master uses to identify the minion. When the minion ID is set up
- automatically, it defaults to the minion's hostname (FQDN). However, you
- can use this option to set a custom minion ID using whatever datatype or
- naming convention you prefer.
- - Most strings are allowed. If you decide to customize your minion IDs, try
- to keep the ID brief but descriptive of its role.
-
- Example:
-
- .. parsed-literal::
-
- bootstrap-salt.sh -i apache-server-1 stable |release|
- bootstrap-salt.sh -i center-3-rack-2 stable |release|
-
- * - ``-R``
- - Specify a custom repository URL if you have created a mirror repository
- for your Salt packages. This option assumes the custom repository URL
- points to a repository that mirrors Salt packages located at
- `https://repo.saltproject.io/ `_. The option passed
- with ``-R`` replaces the ``repo.saltproject.io``. If ``-R`` is passed,
- ``-r`` is also set. Currently only works on CentOS/RHEL and Debian-based
- distributions. You could also use this option to point to
- `https://archive.repo.saltproject.io/ `_.
- - Pass the URL of the mirror repository that the node should use for Salt
- packages. This option assumes the repository exists.
-
- Example:
-
- .. code-block:: bash
-
- bootstrap-salt.sh -R repo.example.com
-
- * - ``-r``
- - Disable all repository configurations performed by this script. This
- option assumes all the necessary repository configurations are already
- present on the system.
- - No arguments.
-
-
-Additional bootstrap script options
-===================================
-For a slightly more comprehensive list of options, see the source code and
-reference documentation on the
-`salt-bootstrap `_
-repo.
-
-
-.. list-table::
- :widths: 10 45 45
- :header-rows: 1
-
- * - Option
- - Description
- - Arguments
-
- * - ``-a``
- - Pip install all Python pkg dependencies for Salt. Must be used with ``-V``
- to install all pip packages into the virtualenv. (Only available for
- Ubuntu-based distributions).
- - No arguments.
-
- * - ``-b``
- - Assume that dependencies are already installed and software sources are
- set up. If the ``git`` installation type is selected, git tree is still
- checked out as dependency step.
- - No arguments.
-
- * - ``-c``
- - Temporary configuration directory. Used with `-k` and `-K`.
- - Pass in a directory path.
-
- * - ``-C``
- - Only run the configuration function. Implies ``-F`` (forced overwrite).
- To overwrite Master or Syndic configs, ``-M`` or ``-S``, respectively,
- must also be specified. Salt installation will be omitted, but some of the
- dependencies could be installed to write configuration with ``-j`` or
- ``-J``.
- - No arguments.
-
- * - ``-d``
- - Disables checking if Salt services are enabled to start on system boot.
- You can also do this by touching ``/tmp/disable_salt_checks`` on the
- target host.
- - No arguments.
-
- * - ``-D``
- - Show the debug output in the CLI.
- - No arguments.
-
- * - ``-f``
- - Only used for git installation types. This option forces shallow cloning
- for git installations. Rather than cloning an entire repository, it only
- includes the portion of the repository that you are interested in to
- improve performance. Note that this option may result in an ``n/a`` in the
- version number.
- - No arguments.
-
- * - ``-F``
- - Allow copied files to overwrite existing (config, init.d, etc.).
- - No arguments.
-
- * - ``-g``
- - Salt Git repository URL. It defaults to the Salt repository at
- `https://repo.saltproject.io/ `_.
- - No arguments.
-
- * - ``-H``
- - Use the specified HTTP proxy for all download URLs (including https://).
- - Pass in the URL for the HTTP proxy. For example:
- ``http://myproxy.example.com:3128``.
-
-
- * - ``-I``
- - If set, allow insecure connections while downloading any files. For
- example, pass ``--no-check-certificate`` to ``wget`` or ``--insecure`` to
- ``curl``. On Debian and Ubuntu, using this option with ``-U`` allows
- obtaining GnuPG archive keys insecurely if the distribution has changed
- release signatures.
- - No arguments.
-
- * - ``-j``
- - Replace the minion configuration file with data passed in as a JSON
- string. If a minion configuration file is found, a reasonable effort will
- be made to save the file with a ``.bak`` extension. If used in conjunction
- with ``-C`` or ``-F``, no ``.bak`` file will be created as either of
- those options will force a complete overwrite of the file. When formatting
- JSON strings, it might be helpful to use a JSON checking and conversion
- tools that are available online.
- - Include a JSON string. For example: ``JSONSTRING='{"grains":{"roles":"test"}}'``
-
- * - ``-J``
- - Replace the master configuration file with data passed in as a JSON
- string. If a master configuration file is found, a reasonable effort will
- be made to save the file with a ``.bak`` extension. If used in conjunction
- with ``-C`` or ``-F``, no ``.bak`` file will be created as either of those
- options will force a complete overwrite of the file. When formatting
- JSON strings, it might be helpful to use a JSON checking and conversion
- tools that are available online.
- - Include a JSON string. For example: ``JSONSTRING='{"grains":{"roles":"test"}}'``
-
- * - ``-k``
- - Temporary directory holding the minion keys which will pre-seed the
- master.
- - Pass in a path for a directory that has minion keys in it.
-
- * - ``-K``
- - If set, keep the temporary files in the temporary directories specified
- with ``-c`` and ``-k``.
- - No arguments.
-
- * - ``-l``
- - Disable ssl checks. When passed, switches ``https`` calls to ``http``
- where possible.
- - No arguments.
-
- * - ``-L``
- - Also install salt-cloud and required python-libcloud package.
- - No arguments.
-
- * - ``-n``
- - No colors.
- - No arguments.
-
- * - ``-N``
- - Do not install salt-minion.
- - No arguments.
+ bootstrap-salt.sh stable |minor-one-version|
- * - ``-p``
- - Extra-package to install while installing Salt dependencies. One package
- per ``-p`` flag. You are responsible for verifying the correct package
- name. The bootstrap script will not provide an error message if the
- package cannot be installed.
- - Provide the virtual package name for the system you are using.
+The source code and reference documentation for the bootstrap scripts are in the
+``salt-bootstrap`` repository:
- * - ``-q``
- - Quiet salt installation from git: ``setup.py install -q``. The log will
- display less messages unless there is an error.
- - No arguments.
+* `bootstrap-salt.sh (for Linux and macOS) `__
+* `bootstrap-salt.ps1 (for Windows) `__
- * - ``-s``
- - Sleep time used when waiting for daemons to start/restart and when
- checking for the services running. The default is 3.
- - Pass in a number (in seconds) for how long the sleep time should be.
+Learn more
+==========
- * - ``-S``
- - Also install salt-syndic.
- - No arguments.
+The most up-to-date instructions for how to use ``salt-bootstrap`` can be found in the
+`salt-bootstrap README `__,
+including:
- * - ``-v``
- - Display script version.
- - No arguments.
+* How to download Salt bootstrap for Windows and Linux
+* How to install Salt package builds from the Salt Project official package repositories
+* How to install Salt via alternative means (``pip``, ``git``, etc.)
+* All arguments available for bootstrap
- * - ``-V``
- - Install Salt into virtualenv. Only available for Ubuntu-based
- distributions.
- - No arguments.
+.. warning::
- * - ``-X``
- - Do not start daemons after installation.
- - No arguments.
+ Older versions of Salt prior to 3006 are no longer supported by this bootstrap script as they
+ have reached their End-Of-Life. Only onedir-based architecture versions of Salt are supported
+ by this bootstrap script.
diff --git a/docs/topics/downloads.rst b/docs/topics/downloads.rst
index 60abbf4..7b11180 100644
--- a/docs/topics/downloads.rst
+++ b/docs/topics/downloads.rst
@@ -4,21 +4,9 @@
Downloads
=========
-.. include:: _includes/supported-salt-releases-sidebar.rst
-
-
Welcome to the Salt download page!
-* Salt packages are hosted on `repo.saltproject.io `_.
-* For unsupported versions:
-
- * PY3 packages are in the `archive repository `_
- under the ``py3`` and ``salt/py3`` directories.
- * PY2 packages are in the `archive repository `__
- under the ``yum`` and ``apt`` directories. Other PY2 packages may be found
- under their respective directories, such as ``osx``, ``windows``,
- ``freebsd``, and so forth.
-
+* Salt packages are hosted on `packages.broadcom.com `_.
The following sections provide links to the repository for each operating
system as well as links to the installation instructions for each operating
@@ -30,92 +18,47 @@ system.
verifying the package URL is an official Salt repository.
-Amazon Linux 2
-==============
-Install the Amazon Linux 2 package using a Linux package manager.
-
-.. grid:: 2
-
- .. grid-item-card:: Browse the repo for Amazon Linux 2 packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/amazon/
-
- :bdg-danger:`Amazon Linux 2`
- |supported-release-1-badge|
-
- .. grid-item-card:: Amazon Linux 2 install guide
- :class-card: sd-border-1
- :link: install-amazon
- :link-type: ref
-
- :bdg-info:`Install Salt on Amazon Linux 2`
-
-
-CentOS
-======
-Install the CentOS package using a yum package manager.
-
-.. grid:: 2
-
- .. grid-item-card:: Browse the repo for CentOS packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/redhat/
-
- :bdg-danger:`CentOS`
- |supported-release-1-badge|
-
- .. grid-item-card:: CentOS install guide
- :class-card: sd-border-1
- :link: install-centos
- :link-type: ref
-
- :bdg-info:`Install Salt on CentOS`
-
-
-Debian
-======
-Install the Debian package using an apt package manager.
+Linux (RPM)
+===========
.. grid:: 2
- .. grid-item-card:: Browse the repo for Debian packages
+ .. grid-item-card:: Browse the repo for RPM packages
:class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/debian/
+ :link: https://packages.broadcom.com/artifactory/saltproject-rpm
- :bdg-danger:`Debian`
- |supported-release-1-badge|
+ :bdg-primary:`rpm`
+ |minor-one-version-badge|
- .. grid-item-card:: Debian install guide
+ .. grid-item-card:: RPM install guide
:class-card: sd-border-1
- :link: install-debian
+ :link: install-rpm
:link-type: ref
- :bdg-info:`Install Salt on Debian`
-
+ :bdg-info:`Install Salt on RHEL-like systems`
-Fedora
-======
-Install the Fedora package using a yum package manager.
+Linux (DEB)
+===========
.. grid:: 2
- .. grid-item-card:: Browse the repo for Fedora packages
+ .. grid-item-card:: Browse the repo for DEB packages
:class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/fedora/
+ :link: https://packages.broadcom.com/artifactory/saltproject-deb
- :bdg-danger:`Fedora`
- |supported-release-1-badge|
+ :bdg-primary:`deb`
+ |minor-one-version-badge|
- .. grid-item-card:: Fedora install guide
+ .. grid-item-card:: DEB install guide
:class-card: sd-border-1
- :link: install-fedora
+ :link: install-deb
:link-type: ref
- :bdg-info:`Install Salt on Fedora`
-
+ :bdg-info:`Install Salt on Debian-like systems`
macOS
=====
+
Download the macOS package and run the file to install Salt. See the
:ref:`install-macos` install guide for more information.
@@ -125,10 +68,10 @@ Download the macOS package and run the file to install Salt. See the
.. grid-item-card:: Browse the repo for macOS packages
:class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/macos
+ :link: https://packages.broadcom.com/artifactory/saltproject-generic/macos
:bdg-danger:`macOS`
- |supported-release-1-badge|
+ |minor-one-version-badge|
.. grid-item-card:: macOS install guide
:class-card: sd-border-1
@@ -138,108 +81,9 @@ Download the macOS package and run the file to install Salt. See the
:bdg-info:`Install Salt on macOS`
-Photon OS
-=========
-Install the Photon OS package using a tdnf package manager.
-
-.. grid:: 2
-
- .. grid-item-card:: Browse the repo for Photon OS packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/photon/
-
- :bdg-danger:`Photon OS`
- |supported-release-1-badge|
-
- .. grid-item-card:: Photon OS install guide
- :class-card: sd-border-1
- :link: install-photonos
- :link-type: ref
-
- :bdg-info:`Install Salt on Photon OS`
-
-
-RedHat
-======
-Install the RedHat package using a yum package manager.
-
-.. grid:: 2
-
- .. grid-item-card:: Browse the repo for RedHat (RHEL) packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/redhat/
-
- :bdg-danger:`RedHat`
- |supported-release-1-badge|
-
- .. grid-item-card:: RedHat install guide
- :class-card: sd-border-1
- :link: install-rhel
- :link-type: ref
-
- :bdg-info:`Install Salt on RedHat`
-
-
-Rocky Linux
-===========
-Install the Rocky Linux package using a yum package manager.
-
-.. grid:: 2
-
- .. grid-item-card:: Browse the repo for Rocky Linux packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/redhat/
-
- :bdg-danger:`Rocky Linux`
- |supported-release-1-badge|
-
- .. grid-item-card:: Rocky Linux install guide
- :class-card: sd-border-1
- :link: install-rocky
- :link-type: ref
-
- :bdg-info:`Install Salt on Rocky Linux`
-
-
-SUSE (SLES)
-===========
-Install the SUSE (SLES) package from the SUSE package repository. SUSE creates
-its own Salt packages and the Salt Project does not publish separate Salt
-packages for download.
-
-.. grid:: 2
-
- .. grid-item-card:: SUSE (SLES) install guide
- :class-card: sd-border-1
- :link: install-sles
- :link-type: ref
-
- :bdg-info:`Install Salt on SUSE (SLES)`
-
-
-Ubuntu
-======
-Install the Ubuntu package using an apt package manager.
-
-.. grid:: 2
-
- .. grid-item-card:: Browse the repo for Ubuntu packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/ubuntu/
-
- :bdg-danger:`Ubuntu`
- |supported-release-1-badge|
-
- .. grid-item-card:: Ubuntu install guide
- :class-card: sd-border-1
- :link: install-ubuntu
- :link-type: ref
-
- :bdg-info:`Install Salt on Ubuntu`
-
-
Windows
=======
+
Download the Windows package and run the file to install Salt. See the
:ref:`install-windows` install guide for more information.
@@ -249,10 +93,10 @@ Download the Windows package and run the file to install Salt. See the
.. grid-item-card:: Browse the repo for Windows packages
:class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/windows/
+ :link: https://packages.broadcom.com/artifactory/saltproject-generic/windows
:bdg-danger:`Windows`
- |supported-release-1-badge|
+ |minor-one-version-badge|
.. grid-item-card:: Windows install guide
:class-card: sd-border-1
diff --git a/docs/topics/install-by-operating-system/amazon.rst b/docs/topics/install-by-operating-system/amazon.rst
deleted file mode 100644
index 7278edd..0000000
--- a/docs/topics/install-by-operating-system/amazon.rst
+++ /dev/null
@@ -1,342 +0,0 @@
-.. _install-amazon:
-
-============
-Amazon Linux
-============
-
-These instructions explain how to install Salt on Amazon Linux 2 operating
-systems:
-
-* `Install Salt on Amazon Linux 2 x86_64`_
-* `Install Salt on Amazon Linux 2 aarch64 and arm64`_
-* `Install Salt on Amazon Linux 2023 x86_64`_
-* `Install Salt on Amazon Linux 2023 aarch64 and arm64`_
-
-.. include:: ../_includes/what-is-onedir.rst
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-
-Install Salt on Amazon Linux 2 x86_64
-=====================================
-To install the :ref:`onedir` packages of Salt on Amazon Linux 2 for x86_64
-architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- .. tab-set::
-
- .. tab-item:: Amazon Linux 2 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Amazon Linux 2**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2-latest-gpg-x86_64|\
-
- curl -fsSL \ |amazon-linux2-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Amazon Linux 2**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2-major-gpg-x86_64|\
-
- curl -fsSL \ |amazon-linux2-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Amazon Linux 2**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2-minor-gpg-x86_64|\
-
- curl -fsSL \ |amazon-linux2-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start service for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Amazon Linux 2 aarch64 and arm64
-================================================
-To install the :ref:`onedir` packages of Salt on Amazon Linux 2 for aarch64 and
-arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- .. tab-set::
-
- .. tab-item:: Amazon Linux 2 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Amazon Linux 2**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2-latest-gpg-arm64|\
-
- curl -fsSL \ |amazon-linux2-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Amazon Linux 2**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2-major-gpg-arm64|\
-
- curl -fsSL \ |amazon-linux2-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Amazon Linux 2**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2-minor-gpg-arm64|\
-
- curl -fsSL \ |amazon-linux2-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start service for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Amazon Linux 2023 x86_64
-========================================
-To install the :ref:`onedir` packages of Salt on Amazon Linux 2023 for x86_64
-architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- .. tab-set::
-
- .. tab-item:: Amazon Linux 2023 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Amazon Linux 2023**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2023-latest-gpg-x86_64|\
-
- curl -fsSL \ |amazon-linux2023-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2023 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Amazon Linux 2023**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2023-major-gpg-x86_64|\
-
- curl -fsSL \ |amazon-linux2023-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2023 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Amazon Linux 2023**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2023-minor-gpg-x86_64|\
-
- curl -fsSL \ |amazon-linux2023-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start service for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Amazon Linux 2023 aarch64 and arm64
-===================================================
-To install the :ref:`onedir` packages of Salt on Amazon Linux 2023 for aarch64 and
-arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- .. tab-set::
-
- .. tab-item:: Amazon Linux 2023 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Amazon Linux 2023**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2023-latest-gpg-arm64|\
-
- curl -fsSL \ |amazon-linux2023-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2023 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Amazon Linux 2023**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2023-major-gpg-arm64|\
-
- curl -fsSL \ |amazon-linux2023-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Amazon Linux 2023 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Amazon Linux 2023**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |amazon-linux2023-minor-gpg-arm64|\
-
- curl -fsSL \ |amazon-linux2023-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt-amzn.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start service for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for Amazon Linux packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/amazon/
- :width: 50%
-
- :bdg-primary:`Amazon Linux 2`
- :bdg-primary:`Amazon Linux 2023`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/centos.rst b/docs/topics/install-by-operating-system/centos.rst
deleted file mode 100644
index e14c31b..0000000
--- a/docs/topics/install-by-operating-system/centos.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. _install-centos:
-
-======
-CentOS
-======
-
-For CentOS Stream 9, use the instructions for installing Salt on
-:ref:`install-rocky`.
diff --git a/docs/topics/install-by-operating-system/debian.rst b/docs/topics/install-by-operating-system/debian.rst
deleted file mode 100644
index 5d6effd..0000000
--- a/docs/topics/install-by-operating-system/debian.rst
+++ /dev/null
@@ -1,367 +0,0 @@
-.. _install-debian:
-
-======
-Debian
-======
-
-These instructions explain how to install Salt on Debian operating systems:
-
-* `Install Salt on Debian 12 (Bookworm) amd64`_
-* `Install Salt on Debian 12 (Bookworm) arm64`_
-* `Install Salt on Debian 11 (Bullseye) amd64`_
-* `Install Salt on Debian 11 (Bullseye) arm64`_
-
-.. include:: ../_includes/what-is-onedir.rst
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-
-Install Salt on Debian 12 (Bookworm) amd64
-==========================================
-To install the :ref:`onedir` packages of Salt on Debian 12 (Bookworm) for
-amd64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Debian 12 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Debian 12 (Bookworm)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg |debian12-latest-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian12-latest-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 12 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Debian 12 (Bookworm)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian12-major-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian12-major-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 12 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Debian 12 (Bookworm)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian12-minor-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian12-minor-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Debian 12 (Bookworm) arm64
-==========================================
-To install the :ref:`onedir` packages of Salt on Debian 12 (Bookworm) for
-arm64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Debian 12 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Debian 12 (Bookworm)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg |debian12-latest-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |debian12-latest-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 12 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Debian 12 (Bookworm)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian12-major-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |debian12-major-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 12 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Debian 12 (Bookworm)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian12-minor-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |debian12-minor-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Debian 11 (Bullseye) amd64
-=====================================================
-To install the :ref:`onedir` packages of Salt on Debian 11 (Bullseye) for
-amd64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Debian 11 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Debian 11 (Bullseye)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg |debian11-latest-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian11-latest-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 11 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Debian 11 (Bullseye)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian11-major-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian11-major-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 11 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Debian 11 (Bullseye)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian11-minor-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian11-minor-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Debian 11 (Bullseye) arm64
-======================================================
-To install the :ref:`onedir` packages of Salt on Debian 11 (Bullseye) for
-arm64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Debian 11 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Debian 11 (Bullseye)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg |debian11-latest-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian11-latest-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 11 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Debian 11 (Bullseye)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian11-major-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian11-major-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Debian 11 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Debian 11 (Bullseye)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |debian11-minor-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |debian11-minor-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for Debian packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/debian/
- :width: 50%
-
- :bdg-primary:`Debian`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/fedora.rst b/docs/topics/install-by-operating-system/fedora.rst
deleted file mode 100644
index 6c3ca6d..0000000
--- a/docs/topics/install-by-operating-system/fedora.rst
+++ /dev/null
@@ -1,212 +0,0 @@
-.. _install-fedora:
-
-======
-Fedora
-======
-
-These instructions explain how to install Salt on Fedora operating systems:
-
-* `Install Salt on Fedora 40 x86_64`_
-* `Install Salt on Fedora 40 aarch64 and arm64`_
-
-.. include:: ../_includes/what-is-onedir.rst
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-
-Install Salt on Fedora 40 x86_64
-================================
-To install Salt on Fedora 40 for x86_64 architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Fedora 40 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Fedora 40**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |fedora40-latest-gpg-x86_64|\
-
- curl -fsSL \ |fedora40-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Fedora 40 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Fedora 40**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |fedora40-major-gpg-x86_64|\
-
- curl -fsSL \ |fedora40-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Fedora 40 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Fedora 40**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |fedora40-minor-gpg-x86_64|\
-
- curl -fsSL \ |fedora40-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-
- .. Note::
- Because of the presence of classic packages of Salt in EPEL, it's
- possible that when you download the package from EPEL, it instead
- downloads classic packages of older versions of Salt instead of the
- onedir packages.
-
- During depsolving, when choosing the best provider among several, `yum`
- respects the priority of each provider's repository. The value is an
- integer from 1 to 99, with 1 being the most preferred repository and 99
- the least preferred. By default all repositories have the priority of 80.
-
- EPEL was treating the Salt repository as 99. To resolve this issue, Salt
- has changed its priority level to 10 for RHEL 7, 8, and 9.
-
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Fedora 40 aarch64 and arm64
-===========================================
-To install Salt on Fedora 40 for aarch64 and arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Fedora 40 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Fedora 40**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |fedora40-latest-gpg-arm64|\
-
- curl -fsSL \ |fedora40-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Fedora 40 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Fedora 40**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |fedora40-major-gpg-arm64|\
-
- curl -fsSL \ |fedora40-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Fedora 40 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Fedora 40**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |fedora40-minor-gpg-arm64|\
-
- curl -fsSL \ |fedora40-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-
- .. Note::
- Because of the presence of classic packages of Salt in EPEL, it's
- possible that when you download the package from EPEL, it instead
- downloads classic packages of older versions of Salt instead of the
- onedir packages.
-
- During depsolving, when choosing the best provider among several, `yum`
- respects the priority of each provider's repository. The value is an
- integer from 1 to 99, with 1 being the most preferred repository and 99
- the least preferred. By default all repositories have the priority of 80.
-
- EPEL was treating the Salt repository as 99. To resolve this issue, Salt
- has changed its priority level to 10 for RHEL 7, 8, and 9.
-
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for Fedora packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/fedora/
- :width: 50%
-
- :bdg-primary:`Fedora`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/index.rst b/docs/topics/install-by-operating-system/index.rst
index 72a9017..5bef65e 100644
--- a/docs/topics/install-by-operating-system/index.rst
+++ b/docs/topics/install-by-operating-system/index.rst
@@ -8,14 +8,6 @@ These instructions explain how to manually install Salt on various operating
systems. See :ref:`overview` for an overview of the steps involved in installing
Salt.
-.. Warning::
- Pay close attention to package versions when navigating
- `repo.saltproject.io `_. For example,
- if you are using a RedHat 7 variant, make sure you select RedHat and then
- select version 7. Otherwise, you will get the wrong repo and will install
- RedHat 8 Salt packages on a RedHat 7. Version incompatibility will throw
- unknown errors.
-
.. toctree::
:maxdepth: 1
:glob:
diff --git a/docs/topics/install-by-operating-system/linux-deb.rst b/docs/topics/install-by-operating-system/linux-deb.rst
new file mode 100644
index 0000000..f2e7dea
--- /dev/null
+++ b/docs/topics/install-by-operating-system/linux-deb.rst
@@ -0,0 +1,224 @@
+.. _install-deb:
+
+===========
+Linux (DEB)
+===========
+
+These instructions explain how to install Salt rpms on operating systems that
+are Debian-like (using ``apt-get`` install methods).
+
+For a list of supported and tested operating systems, for running Salt,
+see :ref:`salt-supported-operating-systems`.
+
+
+Install Salt DEBs
+=================
+
+#. Run the following command to install the Salt Project repository:
+
+ .. code-block:: bash
+
+ # Ensure keyrings dir exists
+ mkdir -p /etc/apt/keyrings
+ # Download public key
+ curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public | sudo tee /etc/apt/keyrings/salt-archive-keyring.pgp
+ # Create apt repo target configuration
+ curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.sources | sudo tee /etc/apt/sources.list.d/salt.sources
+
+#. Run ``sudo apt update`` to update metadata.
+
+#. Install the salt-minion, salt-master, or other Salt components:
+
+ .. warning:: STS not recommended for Production
+
+ Salt Project recommends deploying LTS releases for Production environments.
+
+ .. tab-set::
+
+ .. tab-item:: |major-one-version-text|
+
+ Populate ``/etc/apt/preferences.d/salt-pin-1001`` in order to restrict upgrades to Salt |major-one-version-text|:
+
+ .. parsed-literal::
+
+ echo 'Package: salt-*
+ Pin: version |major-one-version|.*
+ Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/salt-pin-1001
+
+ Available installs:
+
+ .. code-block:: bash
+
+ sudo apt-get install salt-master
+ sudo apt-get install salt-minion
+ sudo apt-get install salt-ssh
+ sudo apt-get install salt-syndic
+ sudo apt-get install salt-cloud
+ sudo apt-get install salt-api
+
+ If wanting to install by a target point release, append the specific Salt
+ full release version. For example:
+
+ .. parsed-literal::
+
+ sudo apt-get install salt-common=\ |minor-one-version|
+ sudo apt-get install salt-master=\ |minor-one-version|
+ sudo apt-get install salt-minion=\ |minor-one-version|
+ sudo apt-get install salt-ssh=\ |minor-one-version|
+ sudo apt-get install salt-syndic=\ |minor-one-version|
+ sudo apt-get install salt-cloud=\ |minor-one-version|
+ sudo apt-get install salt-api=\ |minor-one-version|
+
+ .. code-block:: bash
+
+ # Example commands for pinning a current package minor so that
+ # it is skipped during system-wide apt-get upgrade events
+ sudo apt-mark hold salt-master
+ sudo apt-mark hold salt-minion
+ sudo apt-mark hold salt-ssh
+ sudo apt-mark hold salt-syndic
+ sudo apt-mark hold salt-cloud
+ sudo apt-mark hold salt-api
+
+ .. warning:: Salt dependency conflicts
+
+ If going with a non-latest point release of a target major version, you may be
+ required to install other salt packages in a pinned fashion. For example, to install
+ ``salt-minion``, a user will be required to install ``salt-common`` at the same version:
+
+ .. parsed-literal::
+
+ sudo apt-get install salt-minion=\ |minor-one-version| salt-common=\ |minor-one-version|
+
+
+ .. tab-item:: |major-two-version-text|
+
+ Populate ``/etc/apt/preferences.d/salt-pin-1001`` in order to restrict upgrades to Salt |major-two-version-text|:
+
+ .. parsed-literal::
+
+ echo 'Package: salt-*
+ Pin: version |major-two-version|.*
+ Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/salt-pin-1001
+
+ Available installs:
+
+ .. code-block:: bash
+
+ sudo apt-get install salt-master
+ sudo apt-get install salt-minion
+ sudo apt-get install salt-ssh
+ sudo apt-get install salt-syndic
+ sudo apt-get install salt-cloud
+ sudo apt-get install salt-api
+
+ If wanting to install by a target point release, append the specific Salt
+ full release version. For example:
+
+ .. parsed-literal::
+
+ sudo apt-get install salt-common=\ |minor-two-version|
+ sudo apt-get install salt-master=\ |minor-two-version|
+ sudo apt-get install salt-minion=\ |minor-two-version|
+ sudo apt-get install salt-ssh=\ |minor-two-version|
+ sudo apt-get install salt-syndic=\ |minor-two-version|
+ sudo apt-get install salt-cloud=\ |minor-two-version|
+ sudo apt-get install salt-api=\ |minor-two-version|
+
+ .. code-block:: bash
+
+ # Example commands for pinning a current package minor so that
+ # it is skipped during system-wide apt-get upgrade events
+ sudo apt-mark hold salt-master
+ sudo apt-mark hold salt-minion
+ sudo apt-mark hold salt-ssh
+ sudo apt-mark hold salt-syndic
+ sudo apt-mark hold salt-cloud
+ sudo apt-mark hold salt-api
+
+ .. warning:: Salt dependency conflicts
+
+ If going with a non-latest point release of a target major version, you may be
+ required to install other salt packages in a pinned fashion. For example, to install
+ ``salt-minion``, a user will be required to install ``salt-common`` at the same version:
+
+ .. parsed-literal::
+
+ sudo apt-get install salt-minion=\ |minor-two-version| salt-common=\ |minor-two-version|
+
+
+ .. tab-item:: LATEST Available
+
+ If users would like to leave installs to come from either LTS or STS, whichever
+ major version is latest.
+
+ Available installs:
+
+ .. code-block:: bash
+
+ sudo apt-get install salt-master
+ sudo apt-get install salt-minion
+ sudo apt-get install salt-ssh
+ sudo apt-get install salt-syndic
+ sudo apt-get install salt-cloud
+ sudo apt-get install salt-api
+
+ If wanting to install by a target point release, append the specific Salt
+ full release version. For example:
+
+ .. parsed-literal::
+
+ sudo apt-get install salt-common=\ |minor-latest-version|
+ sudo apt-get install salt-master=\ |minor-latest-version|
+ sudo apt-get install salt-minion=\ |minor-latest-version|
+ sudo apt-get install salt-ssh=\ |minor-latest-version|
+ sudo apt-get install salt-syndic=\ |minor-latest-version|
+ sudo apt-get install salt-cloud=\ |minor-latest-version|
+ sudo apt-get install salt-api=\ |minor-latest-version|
+
+ .. code-block:: bash
+
+ # Example commands for pinning a current package minor so that
+ # it is skipped during system-wide apt-get upgrade events
+ sudo apt-mark hold salt-master
+ sudo apt-mark hold salt-minion
+ sudo apt-mark hold salt-ssh
+ sudo apt-mark hold salt-syndic
+ sudo apt-mark hold salt-cloud
+ sudo apt-mark hold salt-api
+
+ .. warning::
+
+ If going with a non-latest point release of a target major version, you may be
+ required to install other salt packages in a pinned fashion. For example, to install
+ ``salt-minion``, a user will be required to install ``salt-common`` at the same version:
+
+ .. parsed-literal::
+
+ sudo apt-get install salt-minion=\ |minor-latest-version| salt-common=\ |minor-latest-version|
+
+
+#. Enable and start the Salt services
+
+ Available services:
+
+ .. code-block:: bash
+
+ sudo systemctl enable salt-master && sudo systemctl start salt-master
+ sudo systemctl enable salt-minion && sudo systemctl start salt-minion
+ sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
+ sudo systemctl enable salt-api && sudo systemctl start salt-api
+
+ .. include:: ../_includes/install-dependencies-onedir.rst
+
+.. include:: ../_includes/post-install-by-os.rst
+
+Browse the repo
+===============
+
+.. card:: Browse the repo for DEB packages
+ :class-card: sd-border-1
+ :link: https://packages.broadcom.com/artifactory/saltproject-deb/
+ :width: 50%
+
+ :bdg-primary:`deb`
diff --git a/docs/topics/install-by-operating-system/linux-rpm.rst b/docs/topics/install-by-operating-system/linux-rpm.rst
new file mode 100644
index 0000000..e2e9afa
--- /dev/null
+++ b/docs/topics/install-by-operating-system/linux-rpm.rst
@@ -0,0 +1,228 @@
+.. _install-rpm:
+
+===========
+Linux (RPM)
+===========
+
+These instructions explain how to install Salt rpms on operating systems that
+are RHEL-like (using ``dnf`` install methods).
+
+.. Note::
+ Salt packages for SUSE and Photon OS are provided via their own OS package repositories.
+ SUSE and Photon OS create their own Salt packages that aren't ``onedir`` (``relenv``) based, and are
+ patched to be further integrated with their respective operating systems.
+
+ Salt Project **does not** provide custom directions for working with ``zypper``, ``tdnf``, or other
+ non-DNF package managers to install packages from the Salt Project RPM repository.
+
+ RPM packages, hosted by Salt Project, are still tested on SUSE and Photon OS operating systems via our CI/CD.
+
+For a list of supported and tested operating systems, for running Salt,
+see :ref:`salt-supported-operating-systems`.
+
+.. include:: ../_includes/what-is-onedir.rst
+
+.. include:: ../_includes/intro-install-by-os.rst
+
+
+Install Salt RPMs
+=================
+
+#. Run the following command to install the Salt Project repository:
+
+ .. code-block:: bash
+
+ curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.repo | sudo tee /etc/yum.repos.d/salt.repo
+
+ .. Note::
+ Because of the presence of classic packages of Salt in EPEL, it's
+ possible that when you download the package from EPEL, it instead
+ downloads classic packages of older versions of Salt instead of the
+ onedir packages.
+
+ During depsolving, when choosing the best provider among several, ``dnf``
+ respects the priority of each provider's repository. The value is an
+ integer from 1 to 99, with 1 being the most preferred repository and 99
+ the least preferred. By default all repositories have the priority of 80.
+
+ EPEL was treating the Salt repository as 99. To resolve this issue, Salt
+ has changed its priority level to 10 for RHEL 8 and 9.
+
+#. Run ``sudo dnf clean expire-cache`` to clear the repository metadata.
+
+#. Install the salt-minion, salt-master, or other Salt components:
+
+ .. warning:: STS not recommended for Production
+
+ Salt Project recommends deploying LTS releases for Production environments.
+
+ .. tab-set::
+
+ .. tab-item:: |major-one-version-text|
+
+ Available installs:
+
+ .. code-block:: bash
+
+ sudo dnf install salt-master
+ sudo dnf install salt-minion
+ sudo dnf install salt-ssh
+ sudo dnf install salt-syndic
+ sudo dnf install salt-cloud
+ sudo dnf install salt-api
+
+ If wanting to install by a target point release, append the specific Salt
+ full release version. For example:
+
+ .. parsed-literal::
+
+ sudo dnf install salt-master-|minor-one-version|
+ sudo dnf install salt-minion-|minor-one-version|
+ sudo dnf install salt-ssh-|minor-one-version|
+ sudo dnf install salt-syndic-|minor-one-version|
+ sudo dnf install salt-cloud-|minor-one-version|
+ sudo dnf install salt-api-|minor-one-version|
+
+ ``dnf versionlock`` can be used to pin to minor versions, if wanting to be
+ excluded during ``dnf upgrade`` runs on a system.
+
+ .. code-block:: bash
+
+ sudo dnf install 'dnf-command(versionlock)'
+
+ .. code-block:: bash
+
+ sudo dnf versionlock add salt
+ sudo dnf versionlock add salt-master
+ sudo dnf versionlock add salt-minion
+ sudo dnf versionlock add salt-ssh
+ sudo dnf versionlock add salt-syndic
+ sudo dnf versionlock add salt-cloud
+ sudo dnf versionlock add salt-api
+
+ .. tab-item:: |major-two-version-text|
+
+ If users would like to restrict their installs to the Salt |major-two-version-text| point releases,
+ these install steps include enabling Salt |major-two-version-text| release downloads.
+
+ .. parsed-literal::
+
+ # Enable the Salt |major-two-version-text| repo
+ sudo dnf config-manager --set-disable salt-repo-*
+ sudo dnf config-manager --set-enabled salt-repo-|major-two-version-repo-postfix|
+
+ Available installs:
+
+ .. code-block:: bash
+
+ sudo dnf install salt-master
+ sudo dnf install salt-minion
+ sudo dnf install salt-ssh
+ sudo dnf install salt-syndic
+ sudo dnf install salt-cloud
+ sudo dnf install salt-api
+
+ If wanting to install by a target point release, append the specific Salt
+ full release version. For example:
+
+ .. parsed-literal::
+
+ sudo dnf install salt-master-|minor-two-version|
+ sudo dnf install salt-minion-|minor-two-version|
+ sudo dnf install salt-ssh-|minor-two-version|
+ sudo dnf install salt-syndic-|minor-two-version|
+ sudo dnf install salt-cloud-|minor-two-version|
+ sudo dnf install salt-api-|minor-two-version|
+
+ ``dnf versionlock`` can be used to pin to minor versions, if wanting to be
+ excluded during ``dnf upgrade`` runs on a system.
+
+ .. code-block:: bash
+
+ sudo dnf install 'dnf-command(versionlock)'
+
+ .. code-block:: bash
+
+ sudo dnf versionlock add salt
+ sudo dnf versionlock add salt-master
+ sudo dnf versionlock add salt-minion
+ sudo dnf versionlock add salt-ssh
+ sudo dnf versionlock add salt-syndic
+ sudo dnf versionlock add salt-cloud
+ sudo dnf versionlock add salt-api
+
+ .. tab-item:: LATEST Available
+
+ If users would like to leave installs to come from either LTS or STS, whichever
+ major version is latest.
+
+ .. code-block:: bash
+
+ # Enable the Salt LATEST repo
+ sudo dnf config-manager --set-disable salt-repo-*
+ sudo dnf config-manager --set-enabled salt-repo-latest
+
+ Available installs:
+
+ .. code-block:: bash
+
+ sudo dnf install salt-master
+ sudo dnf install salt-minion
+ sudo dnf install salt-ssh
+ sudo dnf install salt-syndic
+ sudo dnf install salt-cloud
+ sudo dnf install salt-api
+
+ If wanting to install by a target point release, append the specific Salt
+ full release version. For example:
+
+ .. parsed-literal::
+
+ sudo dnf install salt-master-|minor-latest-version|
+ sudo dnf install salt-minion-|minor-latest-version|
+ sudo dnf install salt-ssh-|minor-latest-version|
+ sudo dnf install salt-syndic-|minor-latest-version|
+ sudo dnf install salt-cloud-|minor-latest-version|
+ sudo dnf install salt-api-|minor-latest-version|
+
+ ``dnf versionlock`` can be used to pin to minor versions, if wanting to be
+ excluded during ``dnf upgrade`` runs on a system.
+
+ .. code-block:: bash
+
+ sudo dnf install 'dnf-command(versionlock)'
+
+ .. code-block:: bash
+
+ sudo dnf versionlock add salt
+ sudo dnf versionlock add salt-master
+ sudo dnf versionlock add salt-minion
+ sudo dnf versionlock add salt-ssh
+ sudo dnf versionlock add salt-syndic
+ sudo dnf versionlock add salt-cloud
+ sudo dnf versionlock add salt-api
+
+#. Enable and start the Salt services:
+
+ Available services:
+
+ .. code-block:: bash
+
+ sudo systemctl enable salt-master && sudo systemctl start salt-master
+ sudo systemctl enable salt-minion && sudo systemctl start salt-minion
+ sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
+ sudo systemctl enable salt-api && sudo systemctl start salt-api
+
+ .. include:: ../_includes/install-dependencies-onedir.rst
+
+.. include:: ../_includes/post-install-by-os.rst
+
+Browse the repo
+===============
+
+.. card:: Browse the repo for RPM packages
+ :class-card: sd-border-1
+ :link: https://packages.broadcom.com/artifactory/saltproject-rpm/
+ :width: 50%
+
+ :bdg-primary:`rpm`
diff --git a/docs/topics/install-by-operating-system/macos.rst b/docs/topics/install-by-operating-system/macos.rst
index d6265ff..7ad350b 100644
--- a/docs/topics/install-by-operating-system/macos.rst
+++ b/docs/topics/install-by-operating-system/macos.rst
@@ -66,8 +66,7 @@ Browse the repo
===============
.. card:: Browse the repo for macOS packages
- :link: https://repo.saltproject.io/salt/py3/macos
+ :link: https://packages.broadcom.com/artifactory/saltproject-generic/macos
:width: 50%
:bdg-primary:`macOS`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/oracle.rst b/docs/topics/install-by-operating-system/oracle.rst
deleted file mode 100644
index d4170c1..0000000
--- a/docs/topics/install-by-operating-system/oracle.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. _install-oracle:
-
-============
-Oracle Linux
-============
-
-For Oracle Linux operating systems, use the instructions for installing Salt on
-:ref:`install-rhel` or :ref:`install-amazon`.
diff --git a/docs/topics/install-by-operating-system/photonos.rst b/docs/topics/install-by-operating-system/photonos.rst
deleted file mode 100644
index 1ec7872..0000000
--- a/docs/topics/install-by-operating-system/photonos.rst
+++ /dev/null
@@ -1,252 +0,0 @@
-.. _install-photonos:
-
-=========
-Photon OS
-=========
-
-These instructions explain how to install Salt on Photon OS operating systems.
-
-* `Install Salt on Photon OS 5`_
-* `Install Salt on Photon OS 4`_
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-Install Salt on Photon OS 5
-===========================
-To install Salt on Photon OS 5:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Photon OS 5 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Photon OS 5**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |photonos5-latest-gpg|\
-
- curl -fsSL \ |photonos5-latest-download|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- tdnf clean all
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Photon OS 5 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Photon OS 5**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |photonos5-major-gpg|\
-
- curl -fsSL \ |photonos5-major-download|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- tdnf clean all
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Photon OS 5 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Photon OS 5**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |photonos5-minor-gpg|\
-
- curl -fsSL \ |photonos5-minor-download|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- tdnf clean all
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Install packages from the Photon OS repository, such as the salt-minion,
- salt-master, or other Salt components:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Photon OS 5 (Latest)
-
- To install the latest release of Salt packages that are available in
- the Photon OS repository, run these commands:
-
- .. code-block:: bash
-
- sudo tdnf install salt-master
- sudo tdnf install salt-minion
- sudo tdnf install salt-ssh
- sudo tdnf install salt-syndic
- sudo tdnf install salt-cloud
- sudo tdnf install salt-api
-
-
- .. tab-item:: Photon OS 5 (Specific releases)
-
- The following is an example of how to install a specific release of
- Salt based on the list of packages available in the Photon OS
- repository:
-
- .. code-block:: bash
-
- sudo tdnf install salt3-master-3005-1.ph5
- sudo tdnf install salt3-minion-3005-1.ph5
- sudo tdnf install salt3-ssh-3005-1.ph5
- sudo tdnf install salt3-syndic-3005-1.ph5
- sudo tdnf install salt3-cloud-3005-1.ph5
- sudo tdnf install salt3-api-3005-1.ph5
-
- .. Note::
- The file extensions are based on which version of Photon OS you
- are installing Salt services on. For example, the extension for
- Photon OS 3 is ``.ph3`` and the extension for Photon OS 4 is
- ``.ph4``.
-
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-
-Install Salt on Photon OS 4
-===========================
-To install Salt on Photon OS 4:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Photon OS 4 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Photon OS 4**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |photonos4-latest-gpg|\
-
- curl -fsSL \ |photonos4-latest-download|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- tdnf clean all
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Photon OS 4 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Photon OS 4**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |photonos4-major-gpg|\
-
- curl -fsSL \ |photonos4-major-download|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- tdnf clean all
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Photon OS 4 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Photon OS 4**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |photonos4-minor-gpg|\
-
- curl -fsSL \ |photonos4-minor-download|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- tdnf clean all
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Install packages from the Photon OS repository, such as the salt-minion,
- salt-master, or other Salt components:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Photon OS 4 (Latest)
-
- To install the latest release of Salt packages that are available in
- the Photon OS repository, run these commands:
-
- .. code-block:: bash
-
- sudo tdnf install salt-master
- sudo tdnf install salt-minion
- sudo tdnf install salt-ssh
- sudo tdnf install salt-syndic
- sudo tdnf install salt-cloud
- sudo tdnf install salt-api
-
-
- .. tab-item:: Photon OS 4 (Specific releases)
-
- The following is an example of how to install a specific release of
- Salt based on the list of packages available in the Photon OS
- repository:
-
- .. code-block:: bash
-
- sudo tdnf install salt3-master-3005-1.ph4
- sudo tdnf install salt3-minion-3005-1.ph4
- sudo tdnf install salt3-ssh-3005-1.ph4
- sudo tdnf install salt3-syndic-3005-1.ph4
- sudo tdnf install salt3-cloud-3005-1.ph4
- sudo tdnf install salt3-api-3005-1.ph4
-
- .. Note::
- The file extensions are based on which version of Photon OS you
- are installing Salt services on. For example, the extension for
- Photon OS 3 is ``.ph3`` and the extension for Photon OS 4 is
- ``.ph4``.
-
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for Photon OS packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/photon/
- :width: 50%
-
- :bdg-primary:`Photon OS`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/rhel.rst b/docs/topics/install-by-operating-system/rhel.rst
deleted file mode 100644
index ac88fa2..0000000
--- a/docs/topics/install-by-operating-system/rhel.rst
+++ /dev/null
@@ -1,371 +0,0 @@
-.. _install-rhel:
-
-=============
-RedHat (RHEL)
-=============
-
-These instructions explain how to install Salt on RedHat (RHEL) operating
-systems:
-
-* `Install Salt on RedHat (RHEL) 9 x86_64`_
-* `Install Salt on RedHat (RHEL) 9 aarch64 and arm64`_
-* `Install Salt on RedHat (RHEL) 8 x86_64`_
-* `Install Salt on RedHat (RHEL) 8 aarch64 and arm64`_
-
-.. include:: ../_includes/what-is-onedir.rst
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-
-Install Salt on RedHat (RHEL) 9 x86_64
-======================================
-To install Salt on RedHat 9 for x86_64 architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: RHEL 9 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **RHEL 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel9-latest-gpg-x86_64|\
-
- curl -fsSL \ |rhel9-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 9 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **RHEL 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel9-major-gpg-x86_64|\
-
- curl -fsSL \ |rhel9-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 9 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **RHEL 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel9-minor-gpg-x86_64|\
-
- curl -fsSL \ |rhel9-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-
- .. Note::
- Because of the presence of classic packages of Salt in EPEL, it's
- possible that when you download the package from EPEL, it instead
- downloads classic packages of older versions of Salt instead of the
- onedir packages.
-
- During depsolving, when choosing the best provider among several, `yum`
- respects the priority of each provider's repository. The value is an
- integer from 1 to 99, with 1 being the most preferred repository and 99
- the least preferred. By default all repositories have the priority of 80.
-
- EPEL was treating the Salt repository as 99. To resolve this issue, Salt
- has changed its priority level to 10 for RHEL 8 and 9.
-
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on RedHat (RHEL) 9 aarch64 and arm64
-=================================================
-To install Salt on RedHat 9 for aarch64 and arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: RHEL 9 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **RHEL 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel9-latest-gpg-arm64|\
-
- curl -fsSL \ |rhel9-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 9 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **RHEL 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel9-major-gpg-arm64|\
-
- curl -fsSL \ |rhel9-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 9 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **RHEL 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel9-minor-gpg-arm64|\
-
- curl -fsSL \ |rhel9-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-
- .. Note::
- Because of the presence of classic packages of Salt in EPEL, it's
- possible that when you download the package from EPEL, it instead
- downloads classic packages of older versions of Salt instead of the
- onedir packages.
-
- During depsolving, when choosing the best provider among several, `yum`
- respects the priority of each provider's repository. The value is an
- integer from 1 to 99, with 1 being the most preferred repository and 99
- the least preferred. By default all repositories have the priority of 80.
-
- EPEL was treating the Salt repository as 99. To resolve this issue, Salt
- has changed its priority level to 10 for RHEL 8 and 9.
-
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on RedHat (RHEL) 8 x86_64
-======================================
-To install the :ref:`onedir` packages of Salt on RedHat 8 for x86_64
-architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: RHEL 8 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **RHEL 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel8-latest-gpg-x86_64|\
-
- curl -fsSL \ |rhel8-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 8 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **RHEL 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel8-major-gpg-x86_64|\
-
- curl -fsSL \ |rhel8-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 8 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **RHEL 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel8-minor-gpg-x86_64|\
-
- curl -fsSL \ |rhel8-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on RedHat (RHEL) 8 aarch64 and arm64
-=================================================
-To install the :ref:`onedir` packages of Salt on RedHat 8 for aarch64 and
-arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: RHEL 8 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **RHEL 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel8-latest-gpg-arm64|\
-
- curl -fsSL \ |rhel8-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 8 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **RHEL 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel8-major-gpg-arm64|\
-
- curl -fsSL \ |rhel8-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: RHEL 8 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **RHEL 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel8-minor-gpg-arm64|\
-
- curl -fsSL \ |rhel8-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for RedHat (RHEL) packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/redhat/
- :width: 50%
-
- :bdg-primary:`RedHat`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/rocky.rst b/docs/topics/install-by-operating-system/rocky.rst
deleted file mode 100644
index 6bde2ec..0000000
--- a/docs/topics/install-by-operating-system/rocky.rst
+++ /dev/null
@@ -1,333 +0,0 @@
-.. _install-rocky:
-
-===========
-Rocky Linux
-===========
-
-For Rocky Linux operating systems (or AlmaLinux, etc.), use the following instructions.
-
-These instructions explain how to install Salt on Rocky Linux operating systems:
-
-* `Install Salt on Rocky Linux 9 x86_64`_
-* `Install Salt on Rocky Linux 9 aarch64 and arm64`_
-* `Install Salt on Rocky Linux 8 x86_64`_
-* `Install Salt on Rocky Linux 8 aarch64 and arm64`_
-
-
-.. include:: ../_includes/what-is-onedir.rst
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-
-Install Salt on Rocky Linux 9 x86_64
-======================================
-To install the :ref:`onedir` packages of Salt on Rocky Linux 9 for x86_64
-architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Rocky Linux 9 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package of Salt for **Rocky Linux 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky9-latest-gpg-x86_64|\
-
- curl -fsSL \ |rocky9-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 9 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package of Salt for **Rocky Linux 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky9-major-gpg-x86_64|\
-
- curl -fsSL \ |rocky9-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 9 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package of Salt for **Rocky Linux 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky9-minor-gpg-x86_64|\
-
- curl -fsSL \ |rocky9-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Rocky Linux 9 aarch64 and arm64
-=================================================
-To install the :ref:`onedir` packages of Salt on Rocky Linux 9 for aarch64 and
-arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Rocky Linux 9 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package of Salt for **Rocky Linux 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky9-latest-gpg-arm64|\
-
- curl -fsSL \ |rocky9-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 9 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package of Salt for **Rocky Linux 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky9-major-gpg-arm64|\
-
- curl -fsSL \ |rocky9-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 9 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package of Salt for **Rocky Linux 9**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky9-minor-gpg-arm64|\
-
- curl -fsSL \ |rocky9-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-
-Install Salt on Rocky Linux 8 x86_64
-======================================
-To install the :ref:`onedir` packages of Salt on Rocky Linux 8 for x86_64
-architecture:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Rocky Linux 8 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package of Salt for **Rocky Linux 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky8-latest-gpg-x86_64|\
-
- curl -fsSL \ |rocky8-latest-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 8 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package of Salt for **Rocky Linux 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky8-major-gpg-x86_64|\
-
- curl -fsSL \ |rocky8-major-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 8 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package of Salt for **Rocky Linux 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky8-minor-gpg-x86_64|\
-
- curl -fsSL \ |rocky8-minor-download-x86_64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-
-Install Salt on Rocky Linux 8 aarch64 and arm64
-=================================================
-To install the :ref:`onedir` packages of Salt on Rocky Linux 8 for aarch64 and
-arm64 architectures:
-
-#. Run the following commands to install the Salt Project repository and key:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Rocky Linux 8 (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package of Salt for **Rocky Linux 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky8-latest-gpg-arm64|\
-
- curl -fsSL \ |rocky8-latest-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 8 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package of Salt for **Rocky Linux 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky8-major-gpg-arm64|\
-
- curl -fsSL \ |rocky8-major-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Rocky Linux 8 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package of Salt for **Rocky Linux 8**:
-
- .. parsed-literal::
-
- sudo rpm --import \ |rocky8-minor-gpg-arm64|\
-
- curl -fsSL \ |rocky8-minor-download-arm64|\ | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo yum clean expire-cache`` to clear the repository metadata.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo yum install salt-master
- sudo yum install salt-minion
- sudo yum install salt-ssh
- sudo yum install salt-syndic
- sudo yum install salt-cloud
- sudo yum install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for Rocky Linux packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/redhat/
- :width: 50%
-
- :bdg-primary:`Rocky Linux`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/sles.rst b/docs/topics/install-by-operating-system/sles.rst
deleted file mode 100644
index 767c201..0000000
--- a/docs/topics/install-by-operating-system/sles.rst
+++ /dev/null
@@ -1,90 +0,0 @@
-.. _install-sles:
-
-===========
-SUSE (SLES)
-===========
-
-These instructions explain how to install Salt on AR operating systems:
-
-.. Note::
- Salt packages for SUSE are hosted on the SUSE package repository. SUSE
- creates its own Salt packages and the Salt Project does not publish separate
- Salt packages for download.
-
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-
-Install Salt on SUSE
-====================
-Salt is packaged separately for the minion and the master. You only need to
-install the appropriate package for the machine's role. Typically, there will be
-one master and multiple minions.
-
-#. Run the following command:
-
- .. code-block:: bash
-
- zypper install salt-master
- zypper install salt-minion
-
-#. To start the master service:
-
- .. tab-set::
-
- .. tab-item:: Open SUSE
-
- .. code-block:: bash
-
- systemctl start salt-master.service
-
- Alternatively, to start the master service at boot time:
-
- .. code-block:: bash
-
- systemctl enable salt-master.service
-
- .. tab-item:: SLES
-
- .. code-block:: bash
-
- rcsalt-master start
-
- Alternatively, to start the master service at boot time:
-
- .. code-block:: bash
-
- chkconfig salt-master on
-
-
-#. To start the minion service:
-
- .. tab-set::
-
- .. tab-item:: Open SUSE
-
- .. code-block:: bash
-
- systemctl start salt-minion.service
-
- Alternatively, to start the minion service at boot time:
-
- .. code-block:: bash
-
- systemctl enable salt-minion.service
-
- .. tab-item:: SLES
-
- .. code-block:: bash
-
- chkconfig salt-minion on
-
- Alternatively, to start the minion service at boot time:
-
- .. code-block:: bash
-
- rcsalt-minion start
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
diff --git a/docs/topics/install-by-operating-system/ubuntu.rst b/docs/topics/install-by-operating-system/ubuntu.rst
deleted file mode 100644
index f4aa1a2..0000000
--- a/docs/topics/install-by-operating-system/ubuntu.rst
+++ /dev/null
@@ -1,522 +0,0 @@
-.. _install-ubuntu:
-
-======
-Ubuntu
-======
-
-These instructions explain how to install Salt on Debian operating systems:
-
-* `Install Salt on Ubuntu 24.04 (Noble) amd64`_
-* `Install Salt on Ubuntu 24.04 (Noble) arm64`_
-* `Install Salt on Ubuntu 22.04 (Jammy) amd64`_
-* `Install Salt on Ubuntu 22.04 (Jammy) arm64`_
-* `Install Salt on Ubuntu 20.04 (Focal) amd64`_
-* `Install Salt on Ubuntu 20.04 (Focal) arm64`_
-
-.. include:: ../_includes/what-is-onedir.rst
-
-.. include:: ../_includes/intro-install-by-os.rst
-
-Install Salt on Ubuntu 24.04 (Noble) amd64
-==========================================
-To install the :ref:`onedir` packages of Salt on Ubuntu 24.04 (Noble) for
-amd64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Ubuntu 24.04 (Noble) (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Ubuntu 24.04 (Noble)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu24-latest-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu24-latest-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 24.04 (Noble) (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Ubuntu 24.04 (Noble)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu24-major-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu24-major-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 24.04 (Noble) (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Ubuntu 24.04 (Noble)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu24-minor-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu24-minor-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Ubuntu 24.04 (Noble) arm64
-======================================================
-To install the :ref:`onedir` packages of Salt on Ubuntu 24.04 (Noble) for
-arm64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Ubuntu 24.04 (Noble) (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Ubuntu 24.04 (Noble)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu24-latest-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu24-latest-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 24.04 (Noble) (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Ubuntu 24.04 (Noble)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu24-major-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu24-major-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 24.04 (Noble) (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Ubuntu 24.04 (Noble)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu24-minor-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu24-minor-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-
-Install Salt on Ubuntu 22.04 (Jammy) amd64
-==========================================
-To install the :ref:`onedir` packages of Salt on Ubuntu 22.04 (Jammy) for
-amd64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Ubuntu 22.04 (Jammy) (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Ubuntu 22.04 (Jammy)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu22-latest-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu22-latest-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 22.04 (Jammy) (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Ubuntu 22.04 (Jammy)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu22-major-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu22-major-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 22.04 (Jammy) (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Ubuntu 22.04 (Jammy)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu22-minor-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu22-minor-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Ubuntu 22.04 (Jammy) arm64
-======================================================
-To install the :ref:`onedir` packages of Salt on Ubuntu 22.04 (Jammy) for
-arm64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Ubuntu 22.04 (Jammy) (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Ubuntu 22.04 (Jammy)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu22-latest-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu22-latest-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 22.04 (Jammy) (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Ubuntu 22.04 (Jammy)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu22-major-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu22-major-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 22.04 (Jammy) (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Ubuntu 22.04 (Jammy)**:
-
- .. parsed-literal::
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu22-minor-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu22-minor-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-
-Install Salt on Ubuntu 20.04 (Focal) amd64
-=====================================================
-To install the :ref:`onedir` packages of Salt on Ubuntu 20.04 (Focal) for
-amd64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Ubuntu 20.04 (Focal) (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Ubuntu 20.04 (Focal)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu20-latest-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu20-latest-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 20.04 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Ubuntu 20.04 (Focal)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu20-major-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu20-major-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 20.04 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Ubuntu 20.04 (Focal)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu20-minor-gpg-amd64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] \ |ubuntu20-minor-download-amd64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-Install Salt on Ubuntu 20.04 (Focal) arm64
-======================================================
-To install the :ref:`onedir` packages of Salt on Ubuntu 20.04 (Focal) for
-arm64 architecture:
-
-#. Run the following commands to import the Salt Project repository key, and to
- create the apt sources list file:
-
- **Click the tab for the Salt version you would like to pin for updates:**
-
- .. tab-set::
-
- .. tab-item:: Ubuntu 20.04 (Focal) (Latest onedir)
-
- To pin your Salt upgrades to the :ref:`latest` :ref:`onedir` package
- of Salt for **Ubuntu 20.04 (Focal)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu20-latest-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu20-latest-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 20.04 (Major onedir)
-
- To pin your Salt upgrades to the :ref:`major` :ref:`onedir` package
- of Salt for **Ubuntu 20.04 (Focal)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu20-major-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu20-major-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
- .. tab-item:: Ubuntu 20.04 (Minor onedir)
-
- To pin your Salt upgrades to the :ref:`minor` :ref:`onedir` package
- of Salt for **Ubuntu 20.04 (Focal)**:
-
- .. parsed-literal::
-
- mkdir /etc/apt/keyrings
-
- sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg \ |ubuntu20-minor-gpg-arm64|\
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=arm64] \ |ubuntu20-minor-download-arm64|\" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: ../_includes/gpg-keys.rst
-
-#. Run ``sudo apt-get update`` to update your packages.
-
-#. Install the salt-minion, salt-master, or other Salt components:
-
- .. code-block:: bash
-
- sudo apt-get install salt-master
- sudo apt-get install salt-minion
- sudo apt-get install salt-ssh
- sudo apt-get install salt-syndic
- sudo apt-get install salt-cloud
- sudo apt-get install salt-api
-
-#. Enable and start the services for salt-minion, salt-master, or other Salt
- components:
-
- .. code-block:: bash
-
- sudo systemctl enable salt-master && sudo systemctl start salt-master
- sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
- sudo systemctl enable salt-api && sudo systemctl start salt-api
-
- .. include:: ../_includes/install-dependencies-onedir.rst
-
-.. include:: ../_includes/post-install-by-os.rst
-
-
-
-Browse the repo
-===============
-
-.. card:: Browse the repo for Ubuntu packages
- :class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/ubuntu/
- :width: 50%
-
- :bdg-primary:`Ubuntu`
- |supported-release-1-badge|
diff --git a/docs/topics/install-by-operating-system/windows.rst b/docs/topics/install-by-operating-system/windows.rst
index 353518b..4f1f1a5 100644
--- a/docs/topics/install-by-operating-system/windows.rst
+++ b/docs/topics/install-by-operating-system/windows.rst
@@ -31,8 +31,6 @@ If you are unsure which installer to use, use the Nullsoft (EXE) installer.
Onedir packages are currently only available for the Nullsoft (EXE) installer.
-.. include:: ../_includes/warning-about-old-packages.rst
-
Install directory locations
---------------------------
@@ -434,8 +432,7 @@ Browse the repo
.. card:: Browse the repo for Windows packages
:class-card: sd-border-1
- :link: https://repo.saltproject.io/salt/py3/windows/
+ :link: https://packages.broadcom.com/artifactory/saltproject-generic/windows
:width: 50%
:bdg-primary:`Windows`
- :bdg-secondary:`Python3`
diff --git a/docs/topics/other-install-types/air-gap-install.rst b/docs/topics/other-install-types/air-gap-install.rst
index f9b772c..eebaa96 100644
--- a/docs/topics/other-install-types/air-gap-install.rst
+++ b/docs/topics/other-install-types/air-gap-install.rst
@@ -9,57 +9,110 @@ Install in air-gapped environments
About air-gapped installations
==============================
+
To install Salt in an air-gapped environment, you can create a local mirror of
-the Salt Project repository using an s3 API compatible sync tool such as the
-`aws-cli` or `rclone`.
+the Salt Project repositories using a sync tool such as ``rclone`` or ``wget``.
+
+Create a local mirror with ``rclone`` (faster)
+==============================================
+
+.. note::
+
+ Only sync once per day.
+
+To set up local mirrors with ``rclone``:
+
+.. tab-set::
+
+ .. tab-item:: Linux (RPM)
+
+ Syncs down the following repo: `saltproject-rpm `__
+
+ #. In the ``rclone`` command line, adapt this example:
+
+ .. code-block:: bash
+
+ RCLONE_WEBDAV_URL=https://packages.broadcom.com/artifactory/ RCLONE_WEBDAV_VENDOR=other rclone sync --fast-list --use-server-modtime -v :webdav:saltproject-rpm/ ./saltproject-rpm/
+
+ #. (Optional): If you can't use the ``--use-server-modtime`` flag because your
+ version of ``rclone`` is too old, you can use the ``-c flag`` instead:
+
+ .. code-block:: bash
+
+ RCLONE_WEBDAV_URL=https://packages.broadcom.com/artifactory/ RCLONE_WEBDAV_VENDOR=other rclone sync --fast-list -c -v :webdav:saltproject-rpm/ ./saltproject-rpm/
+
+ .. tab-item:: Linux (DEB)
+
+ Syncs down the following repo: `saltproject-deb `__
+
+ #. In the ``rclone`` command line, adapt this example:
+
+ .. code-block:: bash
+
+ RCLONE_WEBDAV_URL=https://packages.broadcom.com/artifactory/ RCLONE_WEBDAV_VENDOR=other rclone sync --fast-list --use-server-modtime -v :webdav:saltproject-deb/ ./saltproject-deb/
+
+ #. (Optional): If you can't use the ``--use-server-modtime`` flag because your
+ version of ``rclone`` is too old, you can use the ``-c flag`` instead:
+
+ .. code-block:: bash
+
+ RCLONE_WEBDAV_URL=https://packages.broadcom.com/artifactory/ RCLONE_WEBDAV_VENDOR=other rclone sync --fast-list -c -v :webdav:saltproject-deb/ ./saltproject-deb/
+
+ .. tab-item:: Generic (Windows, macOS, etc.)
+
+ Syncs down the following repo: `saltproject-generic `__
+
+ #. In the ``rclone`` command line, adapt this example:
+
+ .. code-block:: bash
+
+ RCLONE_WEBDAV_URL=https://packages.broadcom.com/artifactory/ RCLONE_WEBDAV_VENDOR=other rclone sync --fast-list --use-server-modtime -v :webdav:saltproject-generic/ ./saltproject-generic/
+
+ #. (Optional): If you can't use the ``--use-server-modtime`` flag because your
+ version of ``rclone`` is too old, you can use the ``-c flag`` instead:
+
+ .. code-block:: bash
+
+ RCLONE_WEBDAV_URL=https://packages.broadcom.com/artifactory/ RCLONE_WEBDAV_VENDOR=other rclone sync --fast-list -c -v :webdav:saltproject-generic/ ./saltproject-generic/
+
-Be aware that the Salt Project uses a custom endpoint to make it easier to
-switch buckets easily.
+Create a local mirror with ``wget`` (slower)
+============================================
-Also note that `rclone` may warn about the time being out of sync. You can
-safely ignore these warning messages. The warning message is caused because Salt
-Project uses CloudFront as a cache instead of using s3 directly. Please sync no
-more than once per day.
+.. note::
+ Only sync once per day.
-Create a local mirror with `rclone`
-===================================
-To set up a local mirror with `rclone`:
+To set up local mirrors with ``wget``:
-#. In the `rclone` command line, adapt this example:
+.. tab-set::
- .. code-block:: bash
+ .. tab-item:: Linux (RPM)
- RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltproject.io rclone sync --fast-list --use-server-modtime -v s3:s3/ ./fullrepo/
+ Syncs down the following repo: `saltproject-rpm `__
- .. Note::
- On behalf of the Salt Project, include the
- `--use-server-modtime` flags to help us drastically reduce our costs.
+ In the ``wget`` command line, adapt this example:
-#. (Optional): If you can't use the `--use-server-modtime` flag because your
- version of `rclone`` is too old, you can use the `-c flag` instead:
+ .. code-block:: bash
- .. code-block:: bash
+ wget --mirror -nH --cut-dirs=1 https://packages.broadcom.com/artifactory/saltproject-rpm/
- RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltproject.io rclone sync --fast-list -c -v s3:s3/ ./fullrepo/
+ .. tab-item:: Linux (DEB)
+ Syncs down the following repo: `saltproject-deb `__
- .. Tip::
- Only sync once per day.
+ In the ``wget`` command line, adapt this example:
+ .. code-block:: bash
-Create a local mirror with `aws-cli`
-====================================
-To set up a local mirror with `aws-cli`:
+ wget --mirror -nH --cut-dirs=1 https://packages.broadcom.com/artifactory/saltproject-deb/
-#. In the `aws-cli` command line, adapt this example:
+ .. tab-item:: Generic (Windows, macOS, etc.)
- .. code-block:: bash
+ Syncs down the following repo: `saltproject-generic `__
- aws --no-sign-request --endpoint-url https://s3.repo.saltproject.io s3 sync --delete --exact-timestamps s3://s3/ ./fullrepo/
+ In the ``wget`` command line, adapt this example:
-#. To sync the local mirror, use `https://s3.archive.repo.saltproject.io` as the
- endpoint URL.
+ .. code-block:: bash
- .. Tip::
- Only sync once per day.
+ wget --mirror -nH --cut-dirs=1 https://packages.broadcom.com/artifactory/saltproject-generic/
diff --git a/docs/topics/other-install-types/platform-agnostic.rst b/docs/topics/other-install-types/platform-agnostic.rst
index 0aefdac..0991570 100644
--- a/docs/topics/other-install-types/platform-agnostic.rst
+++ b/docs/topics/other-install-types/platform-agnostic.rst
@@ -10,17 +10,21 @@ Platform agnostic installation (pip)
About platform agonistic installation
=====================================
+.. Warning::
+ Installing ``salt`` via ``pip`` only has **reasonable-effort support.**.
+ For more information, see :ref:`salt-python-version-support`
+
Salt can be installed in a platform-agnostic way using the Python package
installer ``pip`` from `pypi.org `_.
-You can use ``pip`` to install other packages that will complement your Salt
+You can also use ``pip`` to install other packages that will complement your Salt
code.
A benefit of using ``pip`` is the ability to install Salt in Python virtual
environments and Conda environments.
.. Warning::
- If you pip install a library using the salt-pip install method, the Python
+ If you pip install a library using the ``salt-pip`` install method, the Python
package installs into the onedir file location. Any scripts installed by the
Python library will not be accessible from the usual system Python paths.
Scripts installed by the Python library need to be called directly using the
diff --git a/docs/topics/other-install-types/release-candidate.rst b/docs/topics/other-install-types/release-candidate.rst
index 90b92ff..41eaefa 100644
--- a/docs/topics/other-install-types/release-candidate.rst
+++ b/docs/topics/other-install-types/release-candidate.rst
@@ -14,8 +14,7 @@ their Salt infrastructure.
:color: primary
Release candidates are early versions of Salt that are released prior to an
- official Salt release. For LTS releases of Salt, the Salt Project releases
- two RCs in the months leading up to the official LTS release.
+ official Salt release.
Report bugs
@@ -28,54 +27,28 @@ and write ``[RC]`` in the issue title. For example:
Install using packages
======================
-RC builds for a few major platforms are available at the Salt repository:
-https://repo.saltproject.io/salt_rc/
-RC builds are typically only available for the latest version of the operating
-system at the time the RC is available. Older versions of operating systems
-might not get an RC release.
+RC builds are available in the Salt package repositories.
To install release candidate packages:
#. Use the standard minor install instructions for your operating system. See
:ref:`install-by-operating-system-index`.
-#. On the step where you normally import the Salt Project repository key and pin
- the package to a specific version of Salt, after ``https://repo.saltproject.io``
- insert ``salt_rc/`` before the remainder of the file path.
-
- .. include:: ../_includes/gpg-keys.rst
-
+#. On the step where you normally enable / restrict to an LTS or STS version,
+ restrict to RC: **TBD**
To install the latest RC, run the following commands:
.. tab-set::
- .. tab-item:: RHEL 9
-
- .. parsed-literal::
-
- sudo rpm --import \ |rhel-release-candidate-gpg|\
-
- curl -fsSL |rhel-release-candidate| | sudo tee /etc/yum.repos.d/salt.repo
-
- .. tab-item:: Ubuntu 22.04 (Jammy)
-
- .. parsed-literal::
-
- sudo curl -fsSL -o |ubuntu-release-candidate-gpg|\
-
- echo "deb |ubuntu-release-candidate| | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. tab-item:: Debian 11 (Bullseye)
+ .. tab-item:: Linux (RPM)
- .. parsed-literal::
-
- sudo mkdir -p /etc/apt/keyrings
+ TBD
- sudo curl -fsSL -o |debian-release-candidate-gpg|
+ .. tab-item:: Linux (DEB)
- echo "deb |debian-release-candidate| | sudo tee /etc/apt/sources.list.d/salt.list
+ TBD
.. tab-item:: Windows
@@ -104,41 +77,13 @@ You can install a release candidate of Salt using one of the scripts in the
.. tab-set::
- .. tab-item:: Linux/macOS
-
- Run the following command for the latest RC release, using
- |release-candidate-version| as an example:
-
- .. parsed-literal::
-
- curl -o install_salt.sh -L https://bootstrap.saltproject.io
- sudo sh install_salt.sh -P -x |bootstrap-release-candidate|
-
- To install a master using Salt bootstrap, use the ``-M`` flag. For example:
+ .. tab-item:: Linux
- .. parsed-literal::
-
- curl -o install_salt.sh -L https://bootstrap.saltproject.io
- sudo sh install_salt.sh -P -M -x |bootstrap-release-candidate|
-
- If you want to install only a master and not a minion using Salt bootstrap, use
- the ``-M`` and ``-N`` flags. For example:
-
- .. parsed-literal::
-
- curl -o install_salt.sh -L https://bootstrap.saltproject.io
- sudo sh install_salt.sh -P -M -N -x |bootstrap-release-candidate|
+ TBD
.. tab-item:: Windows
- Run the following command to install the latest RC release:
-
- .. parsed-literal::
-
- Set-ExecutionPolicy RemoteSigned -Scope Process -Force
- [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
- Invoke-WebRequest -Uri https://winbootstrap.saltproject.io -OutFile .\\bootstrap.ps1
- .\\bootstrap.ps1 -RepoUrl |windows-release-candidate-url|
+ TBD
Install using pip
@@ -157,7 +102,7 @@ To install the release candidate using pip from `PyPi `_:
.. code-block:: bash
- sudo yum install python3-pip python3-devel gcc gcc-c++
+ sudo dnf install python3-pip python3-devel gcc gcc-c++
.. tab-item:: Debian systems
diff --git a/docs/topics/quickstart.rst b/docs/topics/quickstart.rst
index 2cf48e0..f8ef8ce 100644
--- a/docs/topics/quickstart.rst
+++ b/docs/topics/quickstart.rst
@@ -52,7 +52,7 @@ Install Salt with the quickstart script
In this exercise:
- You will install the quickstart version of Salt, which is a lightweight
- version of Salt designed to show you it7s key features.
+ version of Salt designed to show you key features.
- Then, you will try a few commands to demonstrate howSalt can quickly retrieve
helpful information about your system.
diff --git a/docs/topics/revert-to-previous-version.rst b/docs/topics/revert-to-previous-version.rst
index 711a999..bbcecc1 100644
--- a/docs/topics/revert-to-previous-version.rst
+++ b/docs/topics/revert-to-previous-version.rst
@@ -10,6 +10,10 @@ operating systems:
* `Revert Salt on Debian/Ubuntu operating systems`_
* `Revert Salt on RedHat operating systems`_
+.. warning::
+
+ Salt package repositories do not host versions of Salt older than 3006 LTS. This
+ means users will **NOT** be able to revert to older versions such as Salt 3005.
Revert Salt on Debian/Ubuntu operating systems
==============================================
@@ -25,80 +29,25 @@ To revert to a previous version of Salt:
Example output:
- .. code-block:: bash
+ .. parsed-literal::
minion:
- 3006.5
-
-#. Run the following command to overwrite the ``salt.list`` file and pin your
- version of Salt to a previous minor version, replacing the ``X`` in this
- example with the desired previous version number:
-
- .. tab-set::
-
- .. tab-item:: Debian 12
-
- .. code-block:: bash
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/minor/3006.X bookworm main" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: _includes/previous-version-note.rst
-
- .. tab-item:: Debian 11
-
- .. code-block:: bash
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/11/amd64/minor/3006.X bullseye main" | sudo tee /etc/apt/sources.list.d/salt.list
-
- .. include:: _includes/previous-version-note.rst
-
- .. tab-item:: Ubuntu 24.04
-
- .. code-block:: bash
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/ubuntu/24.04/amd64/minor/3006.X noble main" | sudo tee /etc/apt/sources.list.d/salt.list
-
-
- .. include:: _includes/previous-version-note.rst
-
- .. tab-item:: Ubuntu 22.04
-
- .. code-block:: bash
-
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/ubuntu/22.04/amd64/minor/3006.X jammy main" | sudo tee /etc/apt/sources.list.d/salt.list
-
-
- .. include:: _includes/previous-version-note.rst
-
- .. tab-item:: Ubuntu 20.04
-
- .. code-block:: bash
+ |minor-one-version|
- echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/ubuntu/20.04/amd64/minor/3006.X focal main" | sudo tee /etc/apt/sources.list.d/salt.list
- .. include:: _includes/previous-version-note.rst
-
-
-#. Run the following command to change your version of Salt and remove all Salt
- services:
+#. Run the following commands to remove all Salt services:
.. code-block:: bash
- apt remove salt-common
-
-
-#. Run the following commands to update your package manager and install any of
- the Salt services as needed:
+ apt-get remove salt-common
+ apt-get remove salt-master
+ apt-get remove salt-minion
+ apt-get remove salt-ssh
+ apt-get remove salt-syndic
+ apt-get remove salt-cloud
+ apt-get remove salt-api
- .. code-block:: bash
-
- apt update
- apt-get install salt-master
- apt-get install salt-minion
- apt-get install salt-ssh
- apt-get install salt-syndic
- apt-get install salt-cloud
- apt-get install salt-api
+#. Refer to the install directions, and restrict to target LTS or STS available packages via :ref:`install-deb`
#. Verify the version of Salt you are running to ensure you are on the previous
version. For example:
@@ -125,59 +74,31 @@ To revert to a previous version of Salt:
Example output:
- .. code-block:: bash
+ .. parsed-literal::
minion:
- 3006.5
-
-#. Run the following command to overwrite the ``salt.list`` file and pin your
- version of Salt to a previous minor version, replacing the ``X`` in this
- example with the desired previous version number:
-
- .. tab-set::
-
- .. tab-item:: RHEL 9
-
- .. code-block:: bash
-
- curl -fsSL https://repo.saltproject.io/salt/py3/redhat/9/x86_64/minor/3006.X.repo | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: _includes/previous-version-note.rst
-
- .. tab-item:: RHEL 8
-
- .. code-block:: bash
-
- curl -fsSL https://repo.saltproject.io/salt/py3/redhat/8/x86_64/minor/3006.X.repo | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: _includes/previous-version-note.rst
-
- .. tab-item:: RHEL 7
-
- .. code-block:: bash
-
- curl -fsSL https://repo.saltproject.io/salt/py3/redhat/7/x86_64/minor/3006.X.repo | sudo tee /etc/yum.repos.d/salt.repo
-
- .. include:: _includes/previous-version-note.rst
+ |minor-one-version|
#. Run the following command to change your version of Salt and remove all Salt
services:
.. code-block:: bash
- yum remove salt
+ dnf remove salt
+
+#. Refer to the install directions, and restrict to target LTS or STS available packages via :ref:`install-rpm`
#. Update your package manager and install any of the Salt services as needed:
.. code-block:: bash
- yum makecache
- yum install salt-master
- yum install salt-minion
- yum install salt-ssh
- yum install salt-syndic
- yum install salt-cloud
- yum install salt-api
+ dnf makecache
+ dnf install salt-master
+ dnf install salt-minion
+ dnf install salt-ssh
+ dnf install salt-syndic
+ dnf install salt-cloud
+ dnf install salt-api
#. Restart the salt services:
diff --git a/docs/topics/salt-python-version-support.rst b/docs/topics/salt-python-version-support.rst
index 134c2cc..03b5ddd 100644
--- a/docs/topics/salt-python-version-support.rst
+++ b/docs/topics/salt-python-version-support.rst
@@ -4,12 +4,39 @@
Support for Python versions
===========================
-Starting with Salt version 3006, the Salt Project aligns with the
-`Python support lifecycle `_,
-which means that Salt supports the same versions of Python that are supported by
-the `Python Software Foundation `_.
+Starting with Salt 3006 LTS, the Salt Project pins to a specific major version series
+of Python to test and ship with Salt via ``relenv`` (onedir). This means the version of Python shipped may not
+be with the very latest version of Python itself, but will be a version of Python still
+under the `Python support lifecycle `_
+(versions supported `Python Software Foundation `_).
+Fully supported
+===============
-Currently supported versions
-----------------------------
-Salt |release| requires Python 3.7 or higher.
+The Salt Project team provides **full support** for the package-installed versions of Salt via
+``package.broadcom.com`` (which are packaged with ``relenv`` instead of via ``pip`` or ``git``).
+
+``relenv`` is currently pinned to the following major Python versions in Salt:
+
+- Salt |major-one-version-text|: |relenv-one-python-version|
+- Salt |major-two-version-text|: |relenv-two-python-version|
+
+Reasonable-effort support
+=========================
+
+Users installing Salt via ``pip``, ``git``, or other methods will be running Salt in a way that
+Salt is not developed or tested against. This means that the user experience will vary when not
+using what Salt ships via ``relenv``.
+
+Environments with these alternative installations of Salt, such as pip-based or git-based installations, are
+considered being under **Reasonable-effort support.** The fully supported versions of Salt would be the
+packages Salt Project provides from their repositories, due to their test, build, upgrade/downgrade testing suites
+working with the ``relenv``-based installs of Salt.
+
+Resources
+=========
+
+Source code repositories for projects used to build and ship isolated onedirs with Salt:
+
+- `relenv GitHub source repo `__
+- `ppbt: Portable Python Build Toolchain `__
diff --git a/docs/topics/salt-supported-operating-systems.rst b/docs/topics/salt-supported-operating-systems.rst
index a23d75f..10678ce 100644
--- a/docs/topics/salt-supported-operating-systems.rst
+++ b/docs/topics/salt-supported-operating-systems.rst
@@ -48,14 +48,14 @@ Overview of supported operating systems
-
- Yes
- Full
- - Yes
+ -
* - `Amazon Linux`_ 2023
- x86_64, aarch64 / arm64
-
- Yes
- Full
- - Yes
+ -
* - `CentOS`_ Stream 9
- x86_64, aarch64 / arm64
@@ -104,14 +104,14 @@ Overview of supported operating systems
- Yes
- Yes
- Reasonable
- - Yes
+ -
* - `Oracle Linux`_ 8, 9
- x86_64, aarch64 / arm64
- Yes
- Yes
- Full
- - [#f1]_
+ -
* - `Photon OS`_ 4
- x86_64, aarch64 / arm64
@@ -132,14 +132,14 @@ Overview of supported operating systems
- Yes
- Yes
- Full
- - Yes
+ -
* - `RedHat`_ 9
- x86_64, aarch64 / arm64
- Yes
- Yes
- Full
- - Yes
+ -
* - `Rocky Linux`_ 8
- x86_64, aarch64 / arm64
@@ -226,14 +226,12 @@ Overview of supported operating systems
- Yes
-.. [#f1] Use RedHat or CentOS packages instead.
-
-
Support definitions
===================
Arch
----
+
Arch is short for *architecture.* The Salt Project supports the following
architectures:
@@ -319,6 +317,7 @@ The full automated test suite is run for the operating system packages.
Full support policy by operating system
=======================================
+
This section outlines the general support and package creation policy for each
operating system that is listed as having full support by the Salt Project.
These guidelines are intended to help you understand how long a particular
diff --git a/docs/topics/salt-version-support-lifecycle.rst b/docs/topics/salt-version-support-lifecycle.rst
index 5679f99..fd05fff 100644
--- a/docs/topics/salt-version-support-lifecycle.rst
+++ b/docs/topics/salt-version-support-lifecycle.rst
@@ -26,13 +26,13 @@ Version support lifecycle
* - 3007 STS
- March 6, 2024
- - October 18, 2024
- - October 18, 2024
+ - June, 2025
+ - June, 2025
* - 3006 LTS
- April 18, 2023
- - October 18, 2024
- - October 18, 2025
+ - June, 2025
+ - June, 2026
.. Note::
Salt Project is committed to providing active support for the current LTS
@@ -49,6 +49,7 @@ See `Older version support lifecycle`_ for versions of Salt older than 3006.
LTS/STS release and support policy
==================================
+
Beginning with the 3006 release of Salt, the Salt Project will follow an LTS/STS
release strategy. Under this strategy, the Salt Project will release one LTS
(long-term support) release of Salt per year and one or more STS (short-term
@@ -151,6 +152,7 @@ CVE and critical support
Older version support lifecycle
===============================
+
The following table lists the support lifecycle for versions of Salt prior to
the 3006 version:
diff --git a/docs/topics/uninstall.rst b/docs/topics/uninstall.rst
index 98bd0a1..2001390 100644
--- a/docs/topics/uninstall.rst
+++ b/docs/topics/uninstall.rst
@@ -8,9 +8,9 @@ The process for removing Salt depends on the operating system and the method you
used to install Salt:
* **Linux-based systems** - If the operating system uses package management
- tools (such as ``yum`` or ``apt``), then you would use the package manager to
- uninstall. For example: ``yum remove `` or
- ``sudo apt remove ``.
+ tools (such as ``dnf`` or ``apt-get``), then you would use the package manager to
+ uninstall. For example: ``dnf remove `` or
+ ``sudo apt-get remove ``.
* **macOS and Windows** - The macOS and Windows installers have an uninstall
option. Run the installer and select that option to uninstall Salt if you run
that.
diff --git a/docs/topics/upgrade-to-onedir.rst b/docs/topics/upgrade-to-onedir.rst
index bba27f6..26ae3b3 100644
--- a/docs/topics/upgrade-to-onedir.rst
+++ b/docs/topics/upgrade-to-onedir.rst
@@ -5,10 +5,7 @@ Upgrade to onedir
=================
Onedir is the Salt Project's new packaging system. Beginning with the release of
-Salt 3006 (Sulfur), the Salt Project will only offer onedir packages.
-
-.. include:: _includes/fips-photon-os.rst
-
+Salt 3006 LTS (Sulfur), the Salt Project will only offer onedir packages.
.. _what-is-onedir:
@@ -34,7 +31,7 @@ Onedir packages are self-contained binaries of Salt. Onedir packages include:
- :ref:`salt-python-version-support`
* - Salt's required dependencies
- - `Salt dependencies `_
+ - `Salt dependencies `_
.. Warning::
@@ -46,48 +43,18 @@ Onedir packages are self-contained binaries of Salt. Onedir packages include:
for that specific module for a list of required dependencies.
-Timeline for upgrading to onedir packaging
-==========================================
-In order to avoid disruption of services and continue getting upgraded versions
-of Salt, begin planning how you will update your Salt infrastructure to onedir.
-See `How to upgrade to onedir`_ for more information.
-
-.. list-table::
- :widths: 15 85
- :header-rows: 1
- :stub-columns: 1
-
- * - Salt version
- - Packaging changes
-
- * - 3005
- - * The Salt Project will begin to phase out the old, "classic" Salt
- package builds.
- * Both onedir packages and classic Salt package builds will be provided,
- except for operating systems that are newly supported in 3005.
-
- * - 3006
- - The Salt Project will only support onedir packages going forward.
-
-
How to upgrade to onedir
========================
-To upgrade to onedir:
+To upgrade to onedir, if you are upgrading from a Salt older than Salt 3006 LTS:
#. On your Salt infrastructure (masters, minions, etc.), update the repository
- path to point to the new onedir repository paths for your operating system.
- See `Repository paths`_ for more information.
+ paths to point to the new ``packages.broadcom.com`` endpoints. See
+ :ref:`install-by-operating-system-index` for the specific commands.
- .. Tip::
- Rather than manually updating the configuration files with the correct
- repository link, you can re-run the installation commands for your
- operating system. When you re-run the commands, make sure you select the
- instructions for the **onedir** version of the package. See
- :ref:`install-by-operating-system-index` for the specific commands.
-
-#. After the repository file is updated, import the |release| GPG key.
-
- .. include:: _includes/gpg-keys.rst
+#. After the repository files are updated, import the appropriate GPG key.
+ :ref:`install-deb` involves running a ``curl`` command, while RHEL-like
+ systems will automatically pick up the new GPG key on your behalf when you
+ update the repository configuration (`salt.repo`).
#. Upgrade your Salt packages.
@@ -111,7 +78,7 @@ To upgrade to onedir:
You can use ``salt-call pip.list`` to view existing modules that may need
to be installed.
- See also `Salt dependencies `_
+ See also `Salt dependencies `_
for a list of the packages that are installed with onedir. Any package
that is not on this list needs to be reinstalled.
@@ -152,44 +119,3 @@ To upgrade to onedir:
already been built in a way that allows it to find the executables it needs.
Adding Salt to the library search path could cause errors due to incompatible
versions of system packages.
-
-
-Repository paths
-----------------
-
-.. list-table::
- :widths: 10 50 40
- :header-rows: 1
- :stub-columns: 1
-
- * -
- - Onedir path
- - Classic path
-
- * - CentOS
- - https://repo.saltproject.io/salt/py3/redhat/
- - https://repo.saltproject.io/py3/redhat/
-
- * - Debian
- - https://repo.saltproject.io/salt/py3/debian/
- - https://repo.saltproject.io/py3/debian/
-
- * - Fedora
- - https://repo.saltproject.io/salt/py3/fedora/
- - Hosted on Fedora repos
-
- * - MacOS
- - https://repo.saltproject.io/salt/py3/macos/
- - https://repo.saltproject.io/osx/
-
- * - Redhat
- - https://repo.saltproject.io/salt/py3/redhat/
- - https://repo.saltproject.io/py3/redhat/
-
- * - Ubuntu
- - https://repo.saltproject.io/salt/py3/ubuntu/
- - https://repo.saltproject.io/py3/ubuntu/
-
- * - Windows
- - https://repo.saltproject.io/salt/py3/windows/
- - https://repo.saltproject.io/windows/
diff --git a/docs/topics/upgrade.rst b/docs/topics/upgrade.rst
index bf07a02..3494d5b 100644
--- a/docs/topics/upgrade.rst
+++ b/docs/topics/upgrade.rst
@@ -14,14 +14,6 @@ is in case of a security vulnerability.
Salt can be upgraded either through your distribution's package manager or using
PyPI if you have installed Salt with pip, the package installer for Python.
-.. Warning::
- For SaltStack Config users: If you initially installed Salt using Salt
- Crystal, you must also upgrade to later versions using Salt Crystal. For
- more information, see
- `How to Upgrade Salt Crystal `_.
-
-.. include:: _includes/fips-photon-os.rst
-
Upgrade your Salt infrastructure
================================
@@ -34,7 +26,7 @@ To upgrade Salt:
rpm -qi salt
dpkg-query -l salt\*
- yum list installed salt\*
+ dnf list installed salt\*
salt --versions-report
salt-call --local test.versions_report
@@ -78,26 +70,24 @@ To upgrade Salt:
* :ref:`install-by-operating-system-index`
* `Pin to a release for updates`_
- * - Update RHEL or CentOS repository configuration
+ * - Update RHEL or CentOS repository configuration (if needed)
- To reconfigure your repository from a pinned release to the latest
- release, you can either update the appropriate .repo file or uninstall
- the existing repo RPM and install the latest repo RPM. See
- :ref:`install-rhel`, :ref:`install-centos`, or :ref:`install-rocky` for more information.
+ release, you can enable the appropriate STS/LTS repo an install as needed.
+ See :ref:`install-rpm` for more information.
- For additional information on configuring yum repositories, refer to
+ For additional information on configuring yum/dnf repositories, refer to
your distribution's documentation.
* - Update Debian or Ubuntu repository configuration
- To reconfigure your repository from a previously pinned release to the
- latest release, update the source's configuration from the existing
- source to the latest source listed on :ref:`install-debian` or
- :ref:`install-ubuntu`.
+ latest release, update ``/etc/apt/preferences.d/salt-pin-1001`` as needed.
+ See :ref:`install-deb` for more information.
* - Update macOS or Windows
- To update Windows or macOS, download the latest installers and run them.
See :ref:`install-macos` or :ref:`install-windows` for these downloads.
-#. After the repository file is updated, import the |release| GPG key.
+#. After the repository file is updated, import the |minor-one-version| GPG key.
.. include:: _includes/gpg-keys.rst
diff --git a/docs/topics/verify-install.rst b/docs/topics/verify-install.rst
index e25b753..afc69a6 100644
--- a/docs/topics/verify-install.rst
+++ b/docs/topics/verify-install.rst
@@ -42,10 +42,10 @@ After a successful installation of Salt:
Example response:
- .. code-block:: bash
+ .. parsed-literal::
minion1:
- 3004.2
+ |minor-one-version|
Next steps
diff --git a/noxfile.py b/noxfile.py
index 7b5e542..31577d5 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -119,8 +119,8 @@ def docs_versions_update(session):
@nox.session(name="docs-html", python="3")
@nox.parametrize("clean", [False, True])
-@nox.parametrize("download_versions", [False, True])
-def docs_html(session, clean, download_versions):
+@nox.parametrize("gen_sitevars", [False, True])
+def docs_html(session, clean, gen_sitevars):
"""
Build Sphinx HTML Documentation
"""
@@ -135,8 +135,8 @@ def docs_html(session, clean, download_versions):
install_command = ["--progress-bar=off", "-r", str(requirements_file)]
session.install(*install_command, silent=True)
- # Pull down latest Salt version manifest and update sitevars, etc.
- if download_versions:
+ # Update sitevars from tools/supported-versions.json manifest
+ if gen_sitevars:
version_updater_script = Path("tools", "version-updater.py")
session.run("python", str(version_updater_script), external=True)
@@ -177,5 +177,8 @@ def docs(session) -> None:
args = ["--watch", ".", "--open-browser", "docs", str(build_dir)]
if build_dir.exists():
shutil.rmtree(build_dir)
+ # Generate sitevars
+ version_updater_script = Path("tools", "version-updater.py")
+ session.run("python", str(version_updater_script), external=True)
session.run("sphinx-autobuild", *args)
diff --git a/redirector.html b/redirector.html
deleted file mode 100644
index 48f7ea2..0000000
--- a/redirector.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/requirements-dev.txt b/requirements-dev.txt
deleted file mode 100644
index 3820764..0000000
--- a/requirements-dev.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-nox>=2022.8.7
-pre-commit>=2.20.0
diff --git a/salt.repo b/salt.repo
new file mode 100644
index 0000000..83cf289
--- /dev/null
+++ b/salt.repo
@@ -0,0 +1,31 @@
+[salt-repo-3006-lts]
+name=Salt Repo for Salt v3006 LTS
+baseurl=https://packages.broadcom.com/artifactory/saltproject-rpm/
+skip_if_unavailable=True
+priority=10
+enabled=1
+enabled_metadata=1
+gpgcheck=1
+exclude=*3007* *3008* *3009* *3010*
+gpgkey=https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public
+
+[salt-repo-3007-sts]
+name=Salt Repo for Salt v3007 STS
+baseurl=https://packages.broadcom.com/artifactory/saltproject-rpm/
+skip_if_unavailable=True
+priority=10
+enabled=0
+enabled_metadata=1
+gpgcheck=1
+exclude=*3006* *3008* *3009* *3010*
+gpgkey=https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public
+
+[salt-repo-latest]
+name=Salt Repo for Salt LATEST release
+baseurl=https://packages.broadcom.com/artifactory/saltproject-rpm/
+skip_if_unavailable=True
+priority=10
+enabled=0
+enabled_metadata=1
+gpgcheck=1
+gpgkey=https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public
diff --git a/salt.sources b/salt.sources
new file mode 100644
index 0000000..5ab9ff0
--- /dev/null
+++ b/salt.sources
@@ -0,0 +1,14 @@
+X-Repolib-Name: Salt Project
+Description: Salt has many possible uses, including configuration management.
+ Built on Python, Salt is an event-driven automation tool and framework to deploy,
+ configure, and manage complex IT systems. Use Salt to automate common
+ infrastructure administration tasks and ensure that all the components of your
+ infrastructure are operating in a consistent desired state.
+ - Website: https://saltproject.io
+ - Public key: https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public
+Enabled: yes
+Types: deb
+URIs: https://packages.broadcom.com/artifactory/saltproject-deb
+Signed-By: /etc/apt/keyrings/salt-archive-keyring.pgp
+Suites: stable
+Components: main
diff --git a/tools/supported-versions.json b/tools/supported-versions.json
new file mode 100644
index 0000000..8c4a526
--- /dev/null
+++ b/tools/supported-versions.json
@@ -0,0 +1,15 @@
+{
+ "versions": {
+ "3006.11": {
+ "default": true,
+ "type": "LTS",
+ "relenv_python": "3.10"
+ },
+ "3007.3": {
+ "default": false,
+ "type": "STS",
+ "relenv_python": "3.10"
+ }
+ },
+ "release_candidate_version": "3008.0rc1"
+}
diff --git a/tools/version-updater.py b/tools/version-updater.py
index dace931..a1e8c84 100644
--- a/tools/version-updater.py
+++ b/tools/version-updater.py
@@ -1,36 +1,51 @@
"""
Script to download Salt versions manifest and prep docs where version specific info is required
"""
+
from pathlib import Path
import json
import shutil
-import requests
-# Download and parse supported salt versions manifest
-supported_versions_json = requests.get(
- "https://gitlab.com/saltstack/open/docs/salt-install-guide/-/snippets/2580440/raw/main/supported-versions.json"
-)
-supported_versions = supported_versions_json.json()
+# Parse supported salt versions manifest
+supported_versions_json = Path("tools", "supported-versions.json")
+with open(supported_versions_json, "r") as supported_versions_json_reader:
+ supported_versions = json.load(supported_versions_json_reader)
+supported_minor_versions = list(supported_versions["versions"].keys())
supported_major_versions = [
- full_version.split(".")[0]
- for full_version in supported_versions["supported_versions"]
+ version_entry.split(".")[0] for version_entry in supported_minor_versions
]
supported_major_versions.sort(reverse=True)
-supported_minor_versions = supported_versions["supported_versions"]
supported_minor_versions.sort(reverse=True)
+# Discover default install version
+non_default = []
+for supported_minor_version in supported_minor_versions:
+ if supported_versions["versions"][supported_minor_version]["default"]:
+ default_version = supported_minor_version
+ else:
+ non_default.append(supported_minor_version)
+
# Assign vars
LATEST_MAJOR = supported_major_versions[0]
-OLD_MAJOR = supported_major_versions[1]
+ONE_MAJOR = default_version.split(".")[0]
+TWO_MAJOR = non_default[0].split(".")[0]
LATEST_MINOR = supported_minor_versions[0]
-OLD_MINOR = supported_minor_versions[1]
-RC_RELEASE = supported_versions["release_candidate_version"]
+ONE_MINOR = default_version
+TWO_MINOR = non_default[0]
+LATEST_SUPPORT_TYPE = supported_versions["versions"][LATEST_MINOR]["type"]
+ONE_SUPPORT_TYPE = supported_versions["versions"][ONE_MINOR]["type"]
+TWO_SUPPORT_TYPE = supported_versions["versions"][TWO_MINOR]["type"]
+ONE_RELENV_PYTHON = supported_versions["versions"][ONE_MINOR]["relenv_python"]
+TWO_RELENV_PYTHON = supported_versions["versions"][TWO_MINOR]["relenv_python"]
+RC_FULL_VERSION = supported_versions["release_candidate_version"]
# Check if three major versions of salt are currently supported
if len(supported_major_versions) > 2:
THREE_VERSIONS = True
- OLDEST_MAJOR = supported_major_versions[2]
- OLDEST_MINOR = supported_minor_versions[2]
+ THREE_MAJOR = non_default[1].split(".")[0]
+ THREE_MINOR = non_default[1]
+ THREE_SUPPORT_TYPE = supported_versions["versions"][THREE_MINOR]["type"]
+ THREE_RELENV_PYTHON = supported_versions["versions"][THREE_MINOR]["relenv_python"]
else:
THREE_VERSIONS = False
@@ -42,47 +57,32 @@
# Update new sitevars file
with open(sitevars_updated_file, "r") as sitevars_updated_file_reader:
sitevars_template = sitevars_updated_file_reader.read()
- sitevars_template_list = sitevars_template.splitlines()
-
-# Find CURRENT* vars
-for sitevars_line in sitevars_template_list:
- if "|current-major-version|" in sitevars_line:
- CURRENT_MAJOR = sitevars_line.split(" ")[-1]
- break
-CURRENT_MINOR = None
-for salt_minor_version in supported_minor_versions:
- if CURRENT_MAJOR in salt_minor_version:
- CURRENT_MINOR = salt_minor_version
- break
-
-# Needed for testing new versions of salt
-if CURRENT_MINOR == None:
- CURRENT_MINOR = f"{CURRENT_MAJOR}.0"
# Replace all var placeholders
sitevars_updated = (
sitevars_template.replace("LATEST_MAJOR", LATEST_MAJOR)
- .replace("OLD_MAJOR", OLD_MAJOR)
+ .replace("ONE_MAJOR", ONE_MAJOR)
+ .replace("TWO_MAJOR", TWO_MAJOR)
.replace("LATEST_MINOR", LATEST_MINOR)
- .replace("OLD_MINOR", OLD_MINOR)
- .replace("RC_RELEASE", RC_RELEASE)
- .replace("CURRENT_MAJOR", CURRENT_MAJOR)
- .replace("CURRENT_MINOR", CURRENT_MINOR)
+ .replace("ONE_MINOR", ONE_MINOR)
+ .replace("TWO_MINOR", TWO_MINOR)
+ .replace("LATEST_SUPPORT_TYPE", LATEST_SUPPORT_TYPE)
+ .replace("ONE_SUPPORT_TYPE", ONE_SUPPORT_TYPE)
+ .replace("TWO_SUPPORT_TYPE", TWO_SUPPORT_TYPE)
+ .replace("TWO_LOWER_SUPPORT_TYPE", TWO_SUPPORT_TYPE.lower())
+ .replace("ONE_RELENV_PYTHON", ONE_RELENV_PYTHON)
+ .replace("TWO_RELENV_PYTHON", TWO_RELENV_PYTHON)
+ .replace("RC_FULL_VERSION", RC_FULL_VERSION)
)
if THREE_VERSIONS:
- sitevars_updated = sitevars_template.replace("OLDEST_MAJOR", OLDEST_MAJOR).replace(
- "OLDEST_MINOR", OLDEST_MINOR
+ sitevars_updated = (
+ sitevars_updated.replace("THREE_MAJOR", THREE_MAJOR)
+ .replace("THREE_MINOR", THREE_MINOR)
+ .replace("THREE_SUPPORT_TYPE", TWO_SUPPORT_TYPE)
+ .replace("THREE_RELENV_PYTHON", THREE_RELENV_PYTHON)
)
# Write dynamic sitevars file
with open(sitevars_updated_file, "w") as sitevars_updated_file_writer:
sitevars_updated_file_writer.write(sitevars_updated)
-
-# Write latest announcements file
-latest_announcements = requests.get(
- "https://gitlab.com/saltstack/open/docs/salt-install-guide/-/snippets/3722105/raw/main/announcements.rst"
-)
-announcements_file = Path("docs", "topics", "announcements.rst")
-with open(announcements_file, "w") as announcements_updated_file_writer:
- announcements_updated_file_writer.write(latest_announcements.text)