From 90b7ad507031a160eac60062a86a493cf204b096 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 14 Nov 2024 21:03:31 -0600 Subject: [PATCH] add linux-rpm install for zypper --- .../install-by-operating-system/linux-rpm.rst | 407 +++++++++++++----- salt-zypper.repo | 9 + 2 files changed, 307 insertions(+), 109 deletions(-) create mode 100644 salt-zypper.repo diff --git a/docs/topics/install-by-operating-system/linux-rpm.rst b/docs/topics/install-by-operating-system/linux-rpm.rst index e9b0de5..21bb9e4 100644 --- a/docs/topics/install-by-operating-system/linux-rpm.rst +++ b/docs/topics/install-by-operating-system/linux-rpm.rst @@ -20,9 +20,21 @@ Install Salt RPMs #. Run the following command to install the Salt Project repository: - .. code-block:: bash + .. tab-set:: + + .. tab-item:: DNF + + .. 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 + + + .. tab-item:: Zypper + + .. code-block:: bash + + curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt-zypper.repo | sudo tee /etc/zypp/repos.d/salt.repo - 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 @@ -38,163 +50,340 @@ Install Salt RPMs 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. +#. Run the following command to clear the repository metadata. + + .. tab-set:: + + .. tab-item:: DNF + + .. code-block:: bash + + sudo dnf clean expire-cache + + + .. tab-item:: Zypper + + .. code-block:: bash + + sudo zypper clean + + #. Install the salt-minion, salt-master, or other Salt components: .. tab-set:: - .. tab-item:: 3006 LTS + .. tab-item:: DNF + + .. tab-set:: + + .. tab-item:: 3006 LTS + + 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: + + .. code-block:: bash + + sudo dnf install salt-master-3006.9 + sudo dnf install salt-minion-3006.9 + sudo dnf install salt-ssh-3006.9 + sudo dnf install salt-syndic-3006.9 + sudo dnf install salt-cloud-3006.9 + sudo dnf install salt-api-3006.9 + + ``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:: 3007 STS + + .. warning:: STS not recommended for Production + + Salt Project recommends deploying LTS releases for Production environments. + + If users would like to restrict their installs to the Salt 3007 STS point releases, + these install steps include enabling Salt 3007 STS release downloads. + + .. code-block:: bash + + # Enable the Salt 3007 STS repo + sudo dnf config-manager --set-disable salt-repo-* + sudo dnf config-manager --set-enabled salt-repo-3007-sts + + 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: + + .. code-block:: bash + + sudo dnf install salt-master-3007.1 + sudo dnf install salt-minion-3007.1 + sudo dnf install salt-ssh-3007.1 + sudo dnf install salt-syndic-3007.1 + sudo dnf install salt-cloud-3007.1 + sudo dnf install salt-api-3007.1 + + ``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 + + .. warning:: STS not recommended for Production + + Salt Project recommends deploying LTS releases for Production environments. + + 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: + + .. code-block:: bash + + sudo dnf install salt-master-3007.1 + sudo dnf install salt-minion-3007.1 + sudo dnf install salt-ssh-3007.1 + sudo dnf install salt-syndic-3007.1 + sudo dnf install salt-cloud-3007.1 + sudo dnf install salt-api-3007.1 + + ``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:: Zypper + + .. tab-set:: - Available installs: + .. tab-item:: 3006 LTS - .. code-block:: bash + .. warning:: Latest will be installed without locking the package version to the 3006 major version - 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 + The following commands can be used to lock the major version - If wanting to install by a target point release, append the specific Salt - full release version. For example: + .. code-block:: bash - .. code-block:: bash + sudo zypper addlock "salt-minion < 3006" && sudo zypper addlock "salt-minion >= 3007" + sudo zypper addlock "salt-master < 3006" && sudo zypper addlock "salt-master >= 3007" + sudo zypper addlock "salt-ssh < 3006" && sudo zypper addlock "salt-ssh >= 3007" + sudo zypper addlock "salt-syndic < 3006" && sudo zypper addlock "salt-syndic >= 3007" + sudo zypper addlock "salt-cloud < 3006" && sudo zypper addlock "salt-cloud >= 3007" + sudo zypper addlock "salt-api < 3006" && sudo zypper addlock "salt-api >= 3007" - sudo dnf install salt-master-3006.9 - sudo dnf install salt-minion-3006.9 - sudo dnf install salt-ssh-3006.9 - sudo dnf install salt-syndic-3006.9 - sudo dnf install salt-cloud-3006.9 - sudo dnf install salt-api-3006.9 + Available installs: - ``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 - .. code-block:: bash + sudo zypper install salt-master + sudo zypper install salt-minion + sudo zypper install salt-ssh + sudo zypper install salt-syndic + sudo zypper install salt-cloud + sudo zypper install salt-api - sudo dnf install 'dnf-command(versionlock)' + If wanting to install by a target point release, append the specific Salt + full release version. For example: - .. code-block:: bash + .. 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 + sudo zypper install salt-master-3006.9 + sudo zypper install salt-minion-3006.9 + sudo zypper install salt-ssh-3006.9 + sudo zypper install salt-syndic-3006.9 + sudo zypper install salt-cloud-3006.9 + sudo zypper install salt-api-3006.9 - .. tab-item:: 3007 STS + ``zypper addlock`` can be used to pin to minor versions, if wanting to be + excluded during ``zypper update`` runs on a system. - .. warning:: STS not recommended for Production + .. code-block:: bash - Salt Project recommends deploying LTS releases for Production environments. + sudo zypper addlock salt + sudo zypper addlock salt-master + sudo zypper addlock salt-minion + sudo zypper addlock salt-ssh + sudo zypper addlock add salt-syndic + sudo zypper addlock add salt-cloud + sudo zypper addlock add salt-api - If users would like to restrict their installs to the Salt 3007 STS point releases, - these install steps include enabling Salt 3007 STS release downloads. + .. tab-item:: 3007 STS - .. code-block:: bash + .. warning:: STS not recommended for Production - # Enable the Salt 3007 STS repo - sudo dnf config-manager --set-disable salt-repo-* - sudo dnf config-manager --set-enabled salt-repo-3007-sts + Salt Project recommends deploying LTS releases for Production environments. - Available installs: + .. warning:: Latest will be installed without locking the package version to the 3007 major version - .. code-block:: bash + The following commands can be used to lock the major version - 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 + .. code-block:: bash - If wanting to install by a target point release, append the specific Salt - full release version. For example: + sudo zypper addlock "salt-minion < 3007" && sudo zypper addlock "salt-minion >= 3008" + sudo zypper addlock "salt-master < 3007" && sudo zypper addlock "salt-master >= 3008" + sudo zypper addlock "salt-ssh < 3007" && sudo zypper addlock "salt-ssh >= 3008" + sudo zypper addlock "salt-syndic < 3007" && sudo zypper addlock "salt-syndic >= 3008" + sudo zypper addlock "salt-cloud < 3007" && sudo zypper addlock "salt-cloud >= 3008" + sudo zypper addlock "salt-api < 3007" && sudo zypper addlock "salt-api >= 3008" - .. code-block:: bash + Salt Project recommends deploying LTS releases for Production environments. - sudo dnf install salt-master-3007.1 - sudo dnf install salt-minion-3007.1 - sudo dnf install salt-ssh-3007.1 - sudo dnf install salt-syndic-3007.1 - sudo dnf install salt-cloud-3007.1 - sudo dnf install salt-api-3007.1 + Available installs: - ``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 - .. code-block:: bash + sudo zypper install salt-master + sudo zypper install salt-minion + sudo zypper install salt-ssh + sudo zypper install salt-syndic + sudo zypper install salt-cloud + sudo zypper install salt-api - sudo dnf install 'dnf-command(versionlock)' + If wanting to install by a target point release, append the specific Salt + full release version. For example: - .. code-block:: bash + .. 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 + sudo zypper install salt-master-3007.1 + sudo zypper install salt-minion-3007.1 + sudo zypper install salt-ssh-3007.1 + sudo zypper install salt-syndic-3007.1 + sudo zypper install salt-cloud-3007.1 + sudo zypper install salt-api-3007.1 - .. tab-item:: LATEST Available + ``zypper addlock`` can be used to pin to minor versions, if wanting to be + excluded during ``zypper update`` runs on a system. - .. warning:: STS not recommended for Production + .. code-block:: bash - Salt Project recommends deploying LTS releases for Production environments. + sudo zypper addlock salt + sudo zypper addlock salt-master + sudo zypper addlock salt-minion + sudo zypper addlock salt-ssh + sudo zypper addlock add salt-syndic + sudo zypper addlock add salt-cloud + sudo zypper addlock add salt-api - If users would like to leave installs to come from either LTS or STS, whichever - major version is latest. + .. tab-item:: LATEST Available - .. code-block:: bash + .. warning:: STS not recommended for Production - # Enable the Salt LATEST repo - sudo dnf config-manager --set-disable salt-repo-* - sudo dnf config-manager --set-enabled salt-repo-latest + Salt Project recommends deploying LTS releases for Production environments. - Available installs: + Available installs: - .. code-block:: bash + .. 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 + sudo zypper install salt-master + sudo zypper install salt-minion + sudo zypper install salt-ssh + sudo zypper install salt-syndic + sudo zypper install salt-cloud + sudo zypper install salt-api - If wanting to install by a target point release, append the specific Salt - full release version. For example: + If wanting to install by a target point release, append the specific Salt + full release version. For example: - .. code-block:: bash + .. code-block:: bash - sudo dnf install salt-master-3007.1 - sudo dnf install salt-minion-3007.1 - sudo dnf install salt-ssh-3007.1 - sudo dnf install salt-syndic-3007.1 - sudo dnf install salt-cloud-3007.1 - sudo dnf install salt-api-3007.1 + sudo zypper install salt-master-3007.1 + sudo zypper install salt-minion-3007.1 + sudo zypper install salt-ssh-3007.1 + sudo zypper install salt-syndic-3007.1 + sudo zypper install salt-cloud-3007.1 + sudo zypper install salt-api-3007.1 - ``dnf versionlock`` can be used to pin to minor versions, if wanting to be - excluded during ``dnf upgrade`` runs on a system. + ``zypper addlock`` can be used to pin to minor versions, if wanting to be + excluded during ``zypper update`` runs on a system. - .. code-block:: bash + .. code-block:: bash - sudo dnf install 'dnf-command(versionlock)' + sudo zypper addlock salt + sudo zypper addlock salt-master + sudo zypper addlock salt-minion + sudo zypper addlock salt-ssh + sudo zypper addlock add salt-syndic + sudo zypper addlock add salt-cloud + sudo zypper addlock add salt-api - .. 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: diff --git a/salt-zypper.repo b/salt-zypper.repo new file mode 100644 index 0000000..5976af8 --- /dev/null +++ b/salt-zypper.repo @@ -0,0 +1,9 @@ +[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=1 +enabled_metadata=1 +gpgcheck=1 +gpgkey=https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public