mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Compare commits
59 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
21e99f6e57 | ||
![]() |
cd62b3ab56 | ||
![]() |
6feb0c2b7c | ||
![]() |
dfa9e00b97 | ||
![]() |
07f8a519f0 | ||
![]() |
12af0fd612 | ||
![]() |
281c4da32e | ||
![]() |
dcf20b0c9b | ||
![]() |
564b7e9aab | ||
![]() |
b0013cb72e | ||
![]() |
127e2ca07c | ||
![]() |
6cc87235ca | ||
![]() |
bb6479d255 | ||
![]() |
7e1f48da3d | ||
![]() |
74407030ce | ||
![]() |
e32526f0d0 | ||
![]() |
5e73cd23ed | ||
![]() |
e4d8ab881a | ||
![]() |
d29e77c902 | ||
![]() |
e38e9d189b | ||
![]() |
add6e60649 | ||
![]() |
c42bb0d946 | ||
![]() |
d634d8be81 | ||
![]() |
07f5429db6 | ||
![]() |
d9934fccab | ||
![]() |
f7c027402d | ||
![]() |
e74e5ac896 | ||
![]() |
4fbae13a38 | ||
![]() |
10fb7d4ee6 | ||
![]() |
4c68d85504 | ||
![]() |
41e069dd0c | ||
![]() |
e2776eefd0 | ||
![]() |
505b234dd4 | ||
![]() |
56e8425412 | ||
![]() |
ae92460bfb | ||
![]() |
f9f3f83735 | ||
![]() |
ca60ebcb39 | ||
![]() |
2d521d7868 | ||
![]() |
3150593c7e | ||
![]() |
edd7bec6a6 | ||
![]() |
f99b663257 | ||
![]() |
b5e850e905 | ||
![]() |
742363673b | ||
![]() |
17231f51b9 | ||
![]() |
892a30900f | ||
![]() |
73124e2130 | ||
![]() |
92959b9c30 | ||
![]() |
57bf2b9c69 | ||
![]() |
60ce6634de | ||
![]() |
803ed79c23 | ||
![]() |
3525934be7 | ||
![]() |
0b17433478 | ||
![]() |
b6d532ce44 | ||
![]() |
22eb8282f1 | ||
![]() |
c72f6c7efb | ||
![]() |
7bcac75dbb | ||
![]() |
3194208a7f | ||
![]() |
32b55b9e9b | ||
![]() |
b43018d2bf |
2987 changed files with 598209 additions and 73447 deletions
34
.github/dependabot.yml
vendored
34
.github/dependabot.yml
vendored
|
@ -1,34 +0,0 @@
|
|||
version: 2
|
||||
updates:
|
||||
# master branch
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: master
|
||||
labels:
|
||||
- "test:full"
|
||||
# Don't open PRs for regular version updates
|
||||
open-pull-requests-limit: 0
|
||||
|
||||
# 3006.x release branch
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: 3006.x
|
||||
labels:
|
||||
- "test:full"
|
||||
# Don't open PRs for regular version updates
|
||||
open-pull-requests-limit: 0
|
||||
|
||||
# freeze release branch
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: freeze
|
||||
labels:
|
||||
- "test:full"
|
||||
# Don't open PRs for regular version updates
|
||||
open-pull-requests-limit: 0
|
13
.github/workflows/build-packages.yml
vendored
13
.github/workflows/build-packages.yml
vendored
|
@ -71,19 +71,6 @@ jobs:
|
|||
# Checkout here so we can easily use custom actions
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# We need a more recent rustc
|
||||
- name: Install a more recent `rustc`
|
||||
if: ${{ inputs.source == 'src' }}
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
|
||||
- name: Set rust environment variables
|
||||
if: ${{ inputs.source == 'src' }}
|
||||
run: |
|
||||
CARGO_HOME=${CARGO_HOME:-${HOME}/.cargo}
|
||||
export CARGO_HOME
|
||||
echo "CARGO_HOME=${CARGO_HOME}" | tee -a "${GITHUB_ENV}"
|
||||
echo "${CARGO_HOME}/bin" | tee -a "${GITHUB_PATH}"
|
||||
|
||||
# Checkout here for the build process
|
||||
- name: Checkout in build directory
|
||||
uses: actions/checkout@v4
|
||||
|
|
25
.github/workflows/ci.yml
vendored
25
.github/workflows/ci.yml
vendored
|
@ -46,7 +46,6 @@ jobs:
|
|||
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }}
|
||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
||||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
||||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
|
||||
config: ${{ steps.workflow-config.outputs.config }}
|
||||
|
@ -221,11 +220,6 @@ jobs:
|
|||
name: testrun-changed-files.txt
|
||||
path: testrun-changed-files.txt
|
||||
|
||||
- name: Get Release Changelog Target
|
||||
id: get-release-changelog-target
|
||||
run: |
|
||||
tools ci get-release-changelog-target ${{ github.event_name }}
|
||||
|
||||
|
||||
pre-commit:
|
||||
name: Pre-Commit
|
||||
|
@ -293,27 +287,12 @@ jobs:
|
|||
tools changelog update-rpm --draft
|
||||
tools changelog update-rpm
|
||||
|
||||
- name: Create Release Notes Template
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --next-release --template-only
|
||||
else
|
||||
tools changelog update-release-notes --template-only
|
||||
fi
|
||||
|
||||
- name: Update Release Notes
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --draft --next-release
|
||||
tools changelog update-release-notes --next-release
|
||||
else
|
||||
tools changelog update-release-notes --draft
|
||||
tools changelog update-release-notes
|
||||
fi
|
||||
tools changelog update-release-notes --draft
|
||||
tools changelog update-release-notes
|
||||
|
||||
- name: Generate MAN Pages
|
||||
shell: bash
|
||||
|
|
10
.github/workflows/draft-release.yml
vendored
10
.github/workflows/draft-release.yml
vendored
|
@ -49,13 +49,21 @@ jobs:
|
|||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
release_name: "Release v${{ inputs.salt-version }}"
|
||||
release_name: "v${{ inputs.salt-version }}"
|
||||
tag_name: v${{ inputs.salt-version }}
|
||||
draft: true
|
||||
prerelease: false
|
||||
- name: Release Output
|
||||
run: echo "upload_url=${{ steps.create_release.outputs.upload_url }}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
upload-release-patch:
|
||||
needs:
|
||||
- create-github-release
|
||||
uses: ./.github/workflows/release-artifact.yml
|
||||
with:
|
||||
name: salt-${{ inputs.salt-version }}.patch
|
||||
upload_url: ${{ needs.create-github-release.outputs.upload_url }}
|
||||
|
||||
upload-source-tarball:
|
||||
needs:
|
||||
- create-github-release
|
||||
|
|
70
.github/workflows/nightly.yml
vendored
70
.github/workflows/nightly.yml
vendored
|
@ -16,6 +16,9 @@ on:
|
|||
type: boolean
|
||||
default: false
|
||||
description: Skip running the Salt packages test suite.
|
||||
schedule:
|
||||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule
|
||||
- cron: '0 0 * * *' # Every day at 0AM
|
||||
|
||||
env:
|
||||
COLUMNS: 190
|
||||
|
@ -35,17 +38,63 @@ concurrency:
|
|||
|
||||
jobs:
|
||||
|
||||
workflow-requirements:
|
||||
name: Check Workflow Requirements
|
||||
runs-on: ubuntu-22.04
|
||||
outputs:
|
||||
requirements-met: ${{ steps.check-requirements.outputs.requirements-met }}
|
||||
steps:
|
||||
- name: Check Requirements
|
||||
id: check-requirements
|
||||
run: |
|
||||
if [ "${{ vars.RUN_SCHEDULED_BUILDS }}" = "1" ]; then
|
||||
MSG="Running workflow because RUN_SCHEDULED_BUILDS=1"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
|
||||
MSG="Not running workflow because ${{ github.repository }} is a fork"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.private }}" = "true" ]; then
|
||||
MSG="Not running workflow because ${{ github.repository }} is a private repository"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
else
|
||||
MSG="Running workflow because ${{ github.repository }} is not a fork"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
trigger-branch-nightly-builds:
|
||||
name: Trigger Branch Workflows
|
||||
if: ${{ github.event_name == 'schedule' && fromJSON(needs.workflow-requirements.outputs.requirements-met) }}
|
||||
runs-on: ubuntu-22.04
|
||||
needs:
|
||||
- workflow-requirements
|
||||
steps:
|
||||
- name: Trigger 3006.x branch
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh workflow run nightly.yml --repo ${{ github.repository }} --ref 3006.x
|
||||
|
||||
prepare-workflow:
|
||||
name: Prepare Workflow Run
|
||||
runs-on: ubuntu-22.04
|
||||
environment: ci
|
||||
if: ${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }}
|
||||
needs:
|
||||
- workflow-requirements
|
||||
outputs:
|
||||
changed-files: ${{ steps.process-changed-files.outputs.changed-files }}
|
||||
salt-version: ${{ steps.setup-salt-version.outputs.salt-version }}
|
||||
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }}
|
||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
||||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
||||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
|
||||
config: ${{ steps.workflow-config.outputs.config }}
|
||||
|
@ -220,11 +269,6 @@ jobs:
|
|||
name: testrun-changed-files.txt
|
||||
path: testrun-changed-files.txt
|
||||
|
||||
- name: Get Release Changelog Target
|
||||
id: get-release-changelog-target
|
||||
run: |
|
||||
tools ci get-release-changelog-target ${{ github.event_name }}
|
||||
|
||||
|
||||
pre-commit:
|
||||
name: Pre-Commit
|
||||
|
@ -292,21 +336,11 @@ jobs:
|
|||
tools changelog update-rpm --draft
|
||||
tools changelog update-rpm
|
||||
|
||||
- name: Create Release Notes Template
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --next-release --template-only
|
||||
else
|
||||
tools changelog update-release-notes --template-only
|
||||
fi
|
||||
|
||||
- name: Update Release Notes
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
if [ "${{ contains(fromJSON('["master"]'), github.ref_name) }}" == "true" ]; then
|
||||
tools changelog update-release-notes --draft --next-release
|
||||
tools changelog update-release-notes --next-release
|
||||
else
|
||||
|
@ -533,6 +567,8 @@ jobs:
|
|||
runs-on: ubuntu-22.04
|
||||
environment: nightly
|
||||
needs:
|
||||
- workflow-requirements
|
||||
- trigger-branch-nightly-builds
|
||||
- prepare-workflow
|
||||
- pre-commit
|
||||
- lint
|
||||
|
|
2
.github/workflows/pre-commit-action.yml
vendored
2
.github/workflows/pre-commit-action.yml
vendored
|
@ -50,7 +50,7 @@ jobs:
|
|||
- name: Check ALL Files On Branch
|
||||
if: ${{ !cancelled() && github.event_name != 'pull_request' }}
|
||||
env:
|
||||
SKIP: lint-salt,lint-tests,remove-import-headers,pyupgrade
|
||||
SKIP: lint-salt,lint-tests,remove-import-headers,rstcheck
|
||||
run: |
|
||||
pre-commit run --show-diff-on-failure --color=always --all-files
|
||||
|
||||
|
|
84
.github/workflows/release-tag.yml
vendored
84
.github/workflows/release-tag.yml
vendored
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
name: Generate Tag and Github Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
saltVersion:
|
||||
description: 'Salt Version'
|
||||
required: true
|
||||
saltRepo:
|
||||
description: 'Salt Repo'
|
||||
default: saltstack/salt
|
||||
saltBranch:
|
||||
description: 'Salt Branch'
|
||||
default: freeze
|
||||
reTag:
|
||||
description: 'Re Tag (Deletes tag and release)'
|
||||
default: false
|
||||
|
||||
|
||||
env:
|
||||
PIP_INDEX_URL: ${{ vars.PIP_INDEX_URL }}
|
||||
PIP_TRUSTED_HOST: ${{ vars.PIP_TRUSTED_HOST }}
|
||||
PIP_EXTRA_INDEX_URL: ${{ vars.PIP_EXTRA_INDEX_URL }}
|
||||
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
GenerateTagRelease:
|
||||
permissions:
|
||||
contents: write # for dev-drprasad/delete-tag-and-release to delete tags or releases
|
||||
name: Generate Tag and Github Release
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: dev-drprasad/delete-tag-and-release@v0.2.0
|
||||
if: github.event.inputs.reTag == 'true'
|
||||
with:
|
||||
delete_release: true # default: false
|
||||
tag_name: v${{ github.event.inputs.saltVersion }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.event.inputs.saltRepo }}
|
||||
ref: ${{ github.event.inputs.saltBranch }}
|
||||
- name: Bump version and push tag
|
||||
id: tag_version
|
||||
uses: mathieudutour/github-tag-action@v5.6
|
||||
with:
|
||||
create_annotated_tag: True
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
custom_tag: ${{ github.event.inputs.saltVersion }}
|
||||
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.8
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install pypa/build
|
||||
run: |
|
||||
python -m pip install build --user
|
||||
- name: Build a binary wheel and a source tarball
|
||||
run: |
|
||||
git fetch --tags origin
|
||||
git checkout v${{ github.event.inputs.saltVersion }}
|
||||
chmod 700 conf/cloud.*.d
|
||||
chmod 600 conf/cloud
|
||||
chmod 600 conf/cloud.profiles
|
||||
chmod 600 conf/cloud.providers
|
||||
python3 setup.py --ssh-packaging sdist
|
||||
python -m build --sdist --outdir dist/ .
|
||||
- name: Create a GitHub release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
tag: ${{ steps.tag_version.outputs.new_tag }}
|
||||
name: Release ${{ steps.tag_version.outputs.new_tag }}
|
||||
body: |
|
||||
WARNING: The tarball generated by GitHub will not have the correct version information when using a version not ending in .0 . Please use the tarball generated by SaltStack instead. See issue #41847 for more information.
|
||||
Official Salt packages can be found at https://repo.saltproject.io/
|
||||
artifacts: dist/salt*.tar.gz
|
2
.github/workflows/release-update-winrepo.yml
vendored
2
.github/workflows/release-update-winrepo.yml
vendored
|
@ -31,7 +31,7 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: winrepo
|
||||
repository: saltstack/salt-winrepo-ng
|
||||
repository: twangboy/salt-winrepo-ng
|
||||
|
||||
- name: Set Up Python 3.10
|
||||
uses: actions/setup-python@v5
|
||||
|
|
323
.github/workflows/release.yml
vendored
323
.github/workflows/release.yml
vendored
|
@ -1,7 +1,3 @@
|
|||
# Do not edit these workflows directly as the changes made will be overwritten.
|
||||
# Instead, edit the template '.github/workflows/templates/release.yml.jinja'
|
||||
---
|
||||
|
||||
name: Release
|
||||
run-name: "Release (branch: ${{ github.ref_name }}; version: ${{ inputs.salt-version }})"
|
||||
|
||||
|
@ -28,6 +24,7 @@ env:
|
|||
|
||||
permissions:
|
||||
contents: write # To be able to publish the release
|
||||
pull-requests: write
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.repository }}
|
||||
|
@ -49,7 +46,7 @@ jobs:
|
|||
prepare-workflow:
|
||||
name: Prepare Workflow Run
|
||||
runs-on:
|
||||
- linux-x86_64
|
||||
- ubuntu-24.04
|
||||
env:
|
||||
USE_S3_CACHE: 'false'
|
||||
environment: release
|
||||
|
@ -61,7 +58,6 @@ jobs:
|
|||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
|
||||
config: ${{ steps.workflow-config.outputs.config }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
@ -97,12 +93,6 @@ jobs:
|
|||
tools pkg repo confirm-unreleased --repository saltstack/salt ${{ steps.setup-salt-version.outputs.salt-version }}
|
||||
fi
|
||||
|
||||
- name: Check Release Staged
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
tools pkg repo confirm-staged --repository ${{ github.repository }} ${{ steps.setup-salt-version.outputs.salt-version }}
|
||||
|
||||
- name: Get Salt Releases
|
||||
id: get-salt-releases
|
||||
env:
|
||||
|
@ -120,152 +110,14 @@ jobs:
|
|||
run: |
|
||||
echo "nox-archive-hash=${{ hashFiles('requirements/**/*.txt', 'cicd/golden-images.json', 'noxfile.py', 'pkg/common/env-cleanup-rules.yml', '.github/workflows/build-deps-ci-action.yml') }}" | tee -a "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Define workflow config
|
||||
id: workflow-config
|
||||
run: |
|
||||
tools ci workflow-config${{ inputs.skip-salt-pkg-download-test-suite && ' --skip-pkg-download-tests' || '' }} ${{ steps.setup-salt-version.outputs.salt-version }} ${{ github.event_name }} changed-files.json
|
||||
|
||||
download-onedir-artifact:
|
||||
name: Download Staging Onedir Artifact
|
||||
runs-on:
|
||||
- linux-x86_64
|
||||
env:
|
||||
USE_S3_CACHE: 'true'
|
||||
environment: release
|
||||
needs:
|
||||
- prepare-workflow
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: linux
|
||||
arch: x86_64
|
||||
- platform: linux
|
||||
arch: arm64
|
||||
- platform: windows
|
||||
arch: amd64
|
||||
- platform: windows
|
||||
arch: x86
|
||||
- platform: macos
|
||||
arch: x86_64
|
||||
- platform: macos
|
||||
arch: arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python Tools Scripts
|
||||
uses: ./.github/actions/setup-python-tools-scripts
|
||||
with:
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
|
||||
|
||||
- name: Get Salt Project GitHub Actions Bot Environment
|
||||
run: |
|
||||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
||||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
||||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Download Onedir Tarball Artifact
|
||||
run: |
|
||||
tools release download-onedir-artifact --platform=${{ matrix.platform }} --arch=${{ matrix.arch }} ${{ inputs.salt-version }}
|
||||
|
||||
- name: Upload Onedir Tarball as an Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: salt-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz
|
||||
path: artifacts/salt-${{ inputs.salt-version }}-onedir-${{ matrix.platform }}-${{ matrix.arch }}.tar.xz*
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
build-ci-deps:
|
||||
name: CI Deps
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- download-onedir-artifact
|
||||
uses: ./.github/workflows/build-deps-ci-action.yml
|
||||
with:
|
||||
nox-session: ci-test-onedir
|
||||
nox-version: 2022.8.7
|
||||
python-version: "3.10"
|
||||
salt-version: "${{ needs.prepare-workflow.outputs.salt-version }}"
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}|3.10.16
|
||||
nox-archive-hash: "${{ needs.prepare-workflow.outputs.nox-archive-hash }}"
|
||||
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['build-matrix']) }}
|
||||
linux_arm_runner: ${{ fromJSON(needs.prepare-workflow.outputs.config)['linux_arm_runner'] }}
|
||||
|
||||
backup:
|
||||
name: Backup
|
||||
runs-on:
|
||||
- linux-x86_64
|
||||
needs:
|
||||
- prepare-workflow
|
||||
env:
|
||||
USE_S3_CACHE: 'true'
|
||||
environment: release
|
||||
outputs:
|
||||
backup-complete: ${{ steps.backup.outputs.backup-complete }}
|
||||
|
||||
steps:
|
||||
- name: Clone The Salt Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rclone
|
||||
uses: AnimMouse/setup-rclone@v1
|
||||
with:
|
||||
version: v1.61.1
|
||||
|
||||
- name: Setup Python Tools Scripts
|
||||
uses: ./.github/actions/setup-python-tools-scripts
|
||||
with:
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
|
||||
|
||||
- name: Backup Previous Releases
|
||||
id: backup
|
||||
run: |
|
||||
tools pkg repo backup-previous-releases
|
||||
|
||||
publish-repositories:
|
||||
name: Publish Repositories
|
||||
runs-on:
|
||||
- linux-x86_64
|
||||
env:
|
||||
USE_S3_CACHE: 'true'
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- backup
|
||||
- download-onedir-artifact
|
||||
environment: release
|
||||
steps:
|
||||
- name: Clone The Salt Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Get Salt Project GitHub Actions Bot Environment
|
||||
run: |
|
||||
TOKEN=$(curl -sS -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")
|
||||
SPB_ENVIRONMENT=$(curl -sS -f -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/spb:environment)
|
||||
echo "SPB_ENVIRONMENT=$SPB_ENVIRONMENT" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Setup Python Tools Scripts
|
||||
uses: ./.github/actions/setup-python-tools-scripts
|
||||
with:
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
|
||||
|
||||
- name: Publish Release Repository
|
||||
env:
|
||||
SALT_REPO_DOMAIN_RELEASE: ${{ vars.SALT_REPO_DOMAIN_RELEASE || 'repo.saltproject.io' }}
|
||||
SALT_REPO_DOMAIN_STAGING: ${{ vars.SALT_REPO_DOMAIN_STAGING || 'staging.repo.saltproject.io' }}
|
||||
run: |
|
||||
tools pkg repo publish release ${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
release:
|
||||
name: Release v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
if: ${{ always() && ! failure() && ! cancelled() }}
|
||||
runs-on:
|
||||
- linux-x86_64
|
||||
runs-on: ubuntu-24.04
|
||||
env:
|
||||
USE_S3_CACHE: 'true'
|
||||
USE_S3_CACHE: 'false'
|
||||
needs:
|
||||
- prepare-workflow
|
||||
- backup
|
||||
- publish-repositories
|
||||
environment: release
|
||||
steps:
|
||||
- name: Clone The Salt Repository
|
||||
|
@ -273,46 +125,16 @@ jobs:
|
|||
with:
|
||||
ssh-key: ${{ secrets.GHA_SSH_KEY }}
|
||||
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Setup Python Tools Scripts
|
||||
uses: ./.github/actions/setup-python-tools-scripts
|
||||
with:
|
||||
cache-prefix: ${{ needs.prepare-workflow.outputs.cache-seed }}
|
||||
|
||||
- name: Setup GnuPG
|
||||
run: |
|
||||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg
|
||||
GNUPGHOME="$(mktemp -d -p /run/gpg)"
|
||||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV"
|
||||
cat <<EOF > "${GNUPGHOME}/gpg.conf"
|
||||
batch
|
||||
no-tty
|
||||
pinentry-mode loopback
|
||||
EOF
|
||||
|
||||
- name: Get Secrets
|
||||
id: get-secrets
|
||||
env:
|
||||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }}
|
||||
run: |
|
||||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX)
|
||||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE"
|
||||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \
|
||||
--query SecretString --output text | jq .default_key -r | base64 -d \
|
||||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -d - \
|
||||
| gpg --import -
|
||||
sync
|
||||
aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/signing/repo-signing-keys-sha256-2023 \
|
||||
--query SecretString --output text| jq .default_passphrase -r | base64 -d \
|
||||
| gpg --passphrase-file "${SECRETS_KEY_FILE}" -o "${GNUPGHOME}/passphrase" -d -
|
||||
sync
|
||||
rm "$SECRETS_KEY_FILE"
|
||||
echo "passphrase-file ${GNUPGHOME}/passphrase" >> "${GNUPGHOME}/gpg.conf"
|
||||
|
||||
- name: Prepare Release
|
||||
id: prepare-release
|
||||
run: |
|
||||
tools pkg repo publish github --repository ${{ github.repository }} --key-id=64CBBC8173D76B3F ${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
- name: Configure Git
|
||||
shell: bash
|
||||
run: |
|
||||
|
@ -322,47 +144,48 @@ jobs:
|
|||
git config --global user.signingkey 64CBBC8173D76B3F
|
||||
git config --global commit.gpgsign true
|
||||
|
||||
- name: Setup GnuPG
|
||||
env:
|
||||
SIGNING_GPG_KEY: ${{ secrets.SIGNING_GPG_KEY }}
|
||||
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
|
||||
run: |
|
||||
sudo install -d -m 0700 -o "$(id -u)" -g "$(id -g)" /run/gpg
|
||||
GNUPGHOME="$(mktemp -d -p /run/gpg)"
|
||||
export GNUPGHOME
|
||||
echo "GNUPGHOME=${GNUPGHOME}" >> "$GITHUB_ENV"
|
||||
cat <<EOF > "${GNUPGHOME}/gpg.conf"
|
||||
batch
|
||||
no-tty
|
||||
pinentry-mode loopback
|
||||
passphrase-file ${GNUPGHOME}/passphrase
|
||||
EOF
|
||||
echo "${SIGNING_PASSPHRASE}" > "${GNUPGHOME}/passphrase"
|
||||
echo "${SIGNING_GPG_KEY}" | gpg --import -
|
||||
|
||||
- name: Download Release Patch
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
mkdir -p artifacts/release
|
||||
gh release download \
|
||||
-D artifacts/release \
|
||||
-p 'salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch' \
|
||||
v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
- name: Apply The Release Patch
|
||||
run: |
|
||||
git am --committer-date-is-author-date release-artifacts/salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
|
||||
rm release-artifacts/salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
|
||||
git am --committer-date-is-author-date artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
|
||||
rm artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.patch
|
||||
|
||||
- name: Tag The v${{ needs.prepare-workflow.outputs.salt-version }} Release
|
||||
run: |
|
||||
git tag -m "Release v${{ needs.prepare-workflow.outputs.salt-version }}" -as v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
- name: Push Changes
|
||||
uses: ad-m/github-push-action@b87afee92c6e70ea888be6203a3e9426fda49839
|
||||
with:
|
||||
ssh: true
|
||||
tags: true
|
||||
atomic: true
|
||||
branch: ${{ github.ref }}
|
||||
|
||||
- name: Create Github Release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifactErrorsFailBuild: true
|
||||
artifacts: ${{ steps.prepare-release.outputs.release-artifacts }}
|
||||
bodyFile: ${{ steps.prepare-release.outputs.release-messsage-file }}
|
||||
draft: false
|
||||
generateReleaseNotes: false
|
||||
makeLatest: fromJSON(${{ steps.prepare-release.outputs.make-latest }})
|
||||
name: v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
prerelease: ${{ contains(needs.prepare-workflow.outputs.salt-version, 'rc') }}
|
||||
removeArtifacts: true
|
||||
replacesArtifacts: true
|
||||
tag: v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
- name: Upload PyPi Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pypi-artifacts
|
||||
path: |
|
||||
release-artifacts/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
release-artifacts/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz.asc
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
- name: Push tag
|
||||
run: |
|
||||
git config user.name "GitHub Actions"
|
||||
git config user.email "github-actions@users.noreply.github.com"
|
||||
git push origin v${{ inputs.salt-version }}
|
||||
|
||||
publish-pypi:
|
||||
name: Publish to PyPi
|
||||
|
@ -371,13 +194,17 @@ jobs:
|
|||
- prepare-workflow
|
||||
- release
|
||||
environment: release
|
||||
runs-on:
|
||||
- linux-x86_64
|
||||
runs-on: ubuntu-24.04
|
||||
env:
|
||||
USE_S3_CACHE: 'true'
|
||||
USE_S3_CACHE: 'false'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python 3.10
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Setup Python Tools Scripts
|
||||
uses: ./.github/actions/setup-python-tools-scripts
|
||||
with:
|
||||
|
@ -394,30 +221,39 @@ jobs:
|
|||
pinentry-mode loopback
|
||||
EOF
|
||||
|
||||
- name: Get Secrets
|
||||
id: get-secrets
|
||||
env:
|
||||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }}
|
||||
run: |
|
||||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX)
|
||||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE"
|
||||
TWINE_PASSWORD=$(aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/publishing/publish-pypi \
|
||||
--query SecretString --output text | jq .default_passphrase -r | base64 -d \
|
||||
| gpg --passphrase-file "$SECRETS_KEY_FILE" -d -)
|
||||
echo "::add-mask::$TWINE_PASSWORD"
|
||||
echo "twine-password=$TWINE_PASSWORD" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
- name: Download PyPi Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: pypi-artifacts
|
||||
path: artifacts/release
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
mkdir -p artifacts/release
|
||||
gh release download \
|
||||
-D artifacts/release \
|
||||
-p 'salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz' \
|
||||
v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
|
||||
- name: Publish to PyPi
|
||||
env:
|
||||
TWINE_PASSWORD: "${{ steps.get-secrets.outputs.twine-password }}"
|
||||
TWINE_PASSWORD: "${{ secrets.TWINE_PASSWORD }}"
|
||||
run: |
|
||||
tools pkg pypi-upload artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
|
||||
publish-draft:
|
||||
name: Publish Relase v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
if: ${{ !cancelled() && always() }}
|
||||
runs-on: ubuntu-22.04
|
||||
needs:
|
||||
- check-requirements
|
||||
- prepare-workflow
|
||||
- release
|
||||
- publish-pypi
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Publish Release v${{ needs.prepare-workflow.outputs.salt-version }}
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh release edit v${{ inputs.salt-version }} --draft=false
|
||||
|
||||
set-pipeline-exit-status:
|
||||
# This step is just so we can make github require this step, to pass checks
|
||||
# on a pull request instead of requiring all
|
||||
|
@ -427,10 +263,9 @@ jobs:
|
|||
needs:
|
||||
- check-requirements
|
||||
- prepare-workflow
|
||||
- publish-repositories
|
||||
- release
|
||||
- publish-pypi
|
||||
- build-ci-deps
|
||||
- publish-draft
|
||||
steps:
|
||||
- name: Get workflow information
|
||||
id: get-workflow-info
|
||||
|
|
70
.github/workflows/run-nightly.yml
vendored
70
.github/workflows/run-nightly.yml
vendored
|
@ -1,70 +0,0 @@
|
|||
name: Run Nightly Builds
|
||||
|
||||
on:
|
||||
workflow_dispatch: {}
|
||||
schedule:
|
||||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule
|
||||
- cron: '0 0 * * *' # Every day at 0AM
|
||||
|
||||
permissions:
|
||||
contents: read # for dorny/paths-filter to fetch a list of changed files
|
||||
pull-requests: read # for dorny/paths-filter to read pull requests
|
||||
actions: write # to trigger branch nightly builds
|
||||
|
||||
jobs:
|
||||
|
||||
workflow-requirements:
|
||||
name: Check Workflow Requirements
|
||||
runs-on: ubuntu-22.04
|
||||
outputs:
|
||||
requirements-met: ${{ steps.check-requirements.outputs.requirements-met }}
|
||||
steps:
|
||||
- name: Check Requirements
|
||||
id: check-requirements
|
||||
run: |
|
||||
if [ "${{ vars.RUN_SCHEDULED_BUILDS }}" = "1" ]; then
|
||||
MSG="Running workflow because RUN_SCHEDULED_BUILDS=1"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.fork }}" = "true" ]; then
|
||||
MSG="Not running workflow because ${{ github.repository }} is a fork"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
elif [ "${{ github.event.repository.private }}" = "true" ]; then
|
||||
MSG="Not running workflow because ${{ github.repository }} is a private repository"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=false" >> "${GITHUB_OUTPUT}"
|
||||
else
|
||||
MSG="Running workflow because ${{ github.repository }} is not a fork"
|
||||
echo "${MSG}"
|
||||
echo "${MSG}" >> "${GITHUB_STEP_SUMMARY}"
|
||||
echo "requirements-met=true" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
trigger-branch-nightly-builds:
|
||||
name: Trigger Branch Workflows
|
||||
if: ${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }}
|
||||
runs-on: ubuntu-24.04
|
||||
needs:
|
||||
- workflow-requirements
|
||||
environment: workflow-restart
|
||||
strategy:
|
||||
matrix:
|
||||
branch: [3006.x, 3007.x, master]
|
||||
steps:
|
||||
|
||||
- name: Generate a token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@v1
|
||||
with:
|
||||
app-id: ${{ vars.APP_ID }}
|
||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||
|
||||
- name: Trigger ${{ matrix.branch }} branch
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||
run: |
|
||||
gh workflow run nightly.yml --repo ${{ github.repository }} --ref ${{ matrix.branch }}
|
33
.github/workflows/scheduled.yml
vendored
33
.github/workflows/scheduled.yml
vendored
|
@ -65,21 +65,13 @@ jobs:
|
|||
runs-on: ubuntu-22.04
|
||||
needs:
|
||||
- workflow-requirements
|
||||
|
||||
steps:
|
||||
|
||||
- name: Trigger 3006.x branch
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh workflow run scheduled.yml --repo ${{ github.repository }} --ref 3006.x
|
||||
|
||||
- name: Trigger 3007.x branch
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh workflow run scheduled.yml --repo ${{ github.repository }} --ref 3007.x
|
||||
|
||||
prepare-workflow:
|
||||
name: Prepare Workflow Run
|
||||
runs-on: ubuntu-22.04
|
||||
|
@ -93,7 +85,6 @@ jobs:
|
|||
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }}
|
||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
||||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
||||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
|
||||
config: ${{ steps.workflow-config.outputs.config }}
|
||||
|
@ -268,11 +259,6 @@ jobs:
|
|||
name: testrun-changed-files.txt
|
||||
path: testrun-changed-files.txt
|
||||
|
||||
- name: Get Release Changelog Target
|
||||
id: get-release-changelog-target
|
||||
run: |
|
||||
tools ci get-release-changelog-target ${{ github.event_name }}
|
||||
|
||||
|
||||
pre-commit:
|
||||
name: Pre-Commit
|
||||
|
@ -340,27 +326,12 @@ jobs:
|
|||
tools changelog update-rpm --draft
|
||||
tools changelog update-rpm
|
||||
|
||||
- name: Create Release Notes Template
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --next-release --template-only
|
||||
else
|
||||
tools changelog update-release-notes --template-only
|
||||
fi
|
||||
|
||||
- name: Update Release Notes
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --draft --next-release
|
||||
tools changelog update-release-notes --next-release
|
||||
else
|
||||
tools changelog update-release-notes --draft
|
||||
tools changelog update-release-notes
|
||||
fi
|
||||
tools changelog update-release-notes --draft
|
||||
tools changelog update-release-notes
|
||||
|
||||
- name: Generate MAN Pages
|
||||
shell: bash
|
||||
|
|
40
.github/workflows/staging.yml
vendored
40
.github/workflows/staging.yml
vendored
|
@ -76,7 +76,6 @@ jobs:
|
|||
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }}
|
||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
||||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
||||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
|
||||
config: ${{ steps.workflow-config.outputs.config }}
|
||||
|
@ -260,11 +259,6 @@ jobs:
|
|||
name: testrun-changed-files.txt
|
||||
path: testrun-changed-files.txt
|
||||
|
||||
- name: Get Release Changelog Target
|
||||
id: get-release-changelog-target
|
||||
run: |
|
||||
tools ci get-release-changelog-target ${{ github.event_name }}
|
||||
|
||||
|
||||
pre-commit:
|
||||
name: Pre-Commit
|
||||
|
@ -333,27 +327,12 @@ jobs:
|
|||
tools changelog update-rpm --draft
|
||||
tools changelog update-rpm
|
||||
|
||||
- name: Create Release Notes Template
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --next-release --template-only
|
||||
else
|
||||
tools changelog update-release-notes --template-only
|
||||
fi
|
||||
|
||||
- name: Update Release Notes
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --draft --release --next-release
|
||||
tools changelog update-release-notes --release --next-release
|
||||
else
|
||||
tools changelog update-release-notes --draft --release
|
||||
tools changelog update-release-notes --release
|
||||
fi
|
||||
tools changelog update-release-notes --draft --release
|
||||
tools changelog update-release-notes --release
|
||||
|
||||
- name: Generate MAN Pages
|
||||
shell: bash
|
||||
|
@ -628,19 +607,6 @@ jobs:
|
|||
pinentry-mode loopback
|
||||
EOF
|
||||
|
||||
- name: Get Secrets
|
||||
id: get-secrets
|
||||
env:
|
||||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }}
|
||||
run: |
|
||||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX)
|
||||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE"
|
||||
TWINE_PASSWORD=$(aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/publishing/publish-test-pypi \
|
||||
--query SecretString --output text | jq .default_passphrase -r | base64 -d \
|
||||
| gpg --passphrase-file "$SECRETS_KEY_FILE" -d -)
|
||||
echo "::add-mask::$TWINE_PASSWORD"
|
||||
echo "twine-password=$TWINE_PASSWORD" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
- name: Download PyPi Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
@ -649,7 +615,7 @@ jobs:
|
|||
|
||||
- name: Publish to Test PyPi
|
||||
env:
|
||||
TWINE_PASSWORD: "${{ steps.get-secrets.outputs.twine-password }}"
|
||||
TWINE_PASSWORD: "${{ secrets.PYPI_TEST_PASSWORD }}"
|
||||
run: |
|
||||
tools pkg pypi-upload --test artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
|
||||
|
|
17
.github/workflows/templates/ci.yml.jinja
vendored
17
.github/workflows/templates/ci.yml.jinja
vendored
|
@ -97,27 +97,22 @@
|
|||
tools changelog update-rpm --draft
|
||||
tools changelog update-rpm
|
||||
|
||||
- name: Create Release Notes Template
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
tools changelog update-release-notes --next-release --template-only
|
||||
else
|
||||
tools changelog update-release-notes --template-only
|
||||
fi
|
||||
|
||||
- name: Update Release Notes
|
||||
shell: bash
|
||||
if: ${{ startsWith(github.event.ref, 'refs/tags') == false }}
|
||||
run: |
|
||||
if [ "${{ needs.prepare-workflow.outputs.release-changelog-target }}" == "next-major-release" ]; then
|
||||
<%- if gh_environment == 'nightly' %>
|
||||
if [ "${{ contains(fromJSON('["master"]'), github.ref_name) }}" == "true" ]; then
|
||||
tools changelog update-release-notes --draft <%- if prepare_actual_release %> --release <%- endif %> --next-release
|
||||
tools changelog update-release-notes <%- if prepare_actual_release %> --release <%- endif %> --next-release
|
||||
else
|
||||
tools changelog update-release-notes --draft <%- if prepare_actual_release %> --release <%- endif %>
|
||||
tools changelog update-release-notes <%- if prepare_actual_release %> --release <%- endif %>
|
||||
fi
|
||||
<%- else %>
|
||||
tools changelog update-release-notes --draft <%- if prepare_actual_release %> --release <%- endif %>
|
||||
tools changelog update-release-notes <%- if prepare_actual_release %> --release <%- endif %>
|
||||
<%- endif %>
|
||||
|
||||
- name: Generate MAN Pages
|
||||
shell: bash
|
||||
|
|
7
.github/workflows/templates/layout.yml.jinja
vendored
7
.github/workflows/templates/layout.yml.jinja
vendored
|
@ -50,7 +50,6 @@ permissions:
|
|||
actions: read # for technote-space/workflow-conclusion-action to get the job statuses
|
||||
<%- endif %>
|
||||
|
||||
|
||||
<%- endblock permissions %>
|
||||
|
||||
<%- block concurrency %>
|
||||
|
@ -95,7 +94,6 @@ jobs:
|
|||
cache-seed: ${{ steps.set-cache-seed.outputs.cache-seed }}
|
||||
latest-release: ${{ steps.get-salt-releases.outputs.latest-release }}
|
||||
releases: ${{ steps.get-salt-releases.outputs.releases }}
|
||||
release-changelog-target: ${{ steps.get-release-changelog-target.outputs.release-changelog-target }}
|
||||
testing-releases: ${{ steps.get-testing-releases.outputs.testing-releases }}
|
||||
nox-archive-hash: ${{ steps.nox-archive-hash.outputs.nox-archive-hash }}
|
||||
config: ${{ steps.workflow-config.outputs.config }}
|
||||
|
@ -286,11 +284,6 @@ jobs:
|
|||
name: testrun-changed-files.txt
|
||||
path: testrun-changed-files.txt
|
||||
|
||||
- name: Get Release Changelog Target
|
||||
id: get-release-changelog-target
|
||||
run: |
|
||||
tools ci get-release-changelog-target ${{ github.event_name }}
|
||||
|
||||
{# We can't yet use tokenless uploads with the codecov CLI
|
||||
|
||||
- name: Install Codecov CLI
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<%- set skip_test_coverage_check = skip_test_coverage_check|default("true") %>
|
||||
<%- set prepare_workflow_skip_test_suite = "${{ inputs.skip-salt-test-suite && ' --skip-tests' || '' }}" %>
|
||||
<%- set prepare_workflow_skip_pkg_test_suite = "${{ inputs.skip-salt-pkg-test-suite && ' --skip-pkg-tests' || '' }}" %>
|
||||
<%- set prepare_workflow_if_check = prepare_workflow_if_check|default("${{ fromJSON(needs.workflow-requirements.outputs.requirements-met) }}") %>
|
||||
<%- extends 'ci.yml.jinja' %>
|
||||
|
||||
<%- block name %>
|
||||
|
@ -24,6 +25,9 @@ on:
|
|||
type: boolean
|
||||
default: false
|
||||
description: Skip running the Salt packages test suite.
|
||||
schedule:
|
||||
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule
|
||||
- cron: '0 0 * * *' # Every day at 0AM
|
||||
|
||||
<%- endblock on %>
|
||||
|
||||
|
@ -44,6 +48,9 @@ concurrency:
|
|||
|
||||
<%- block pre_jobs %>
|
||||
|
||||
<%- include "workflow-requirements-check.yml.jinja" %>
|
||||
<%- include "trigger-branch-workflows.yml.jinja" %>
|
||||
|
||||
<%- endblock pre_jobs %>
|
||||
|
||||
<%- block jobs %>
|
||||
|
|
|
@ -498,5 +498,3 @@ permissions:
|
|||
echo '```' >> "${GITHUB_STEP_SUMMARY}"
|
||||
fi
|
||||
<%- endblock set_pipeline_exit_status_extra_steps %>
|
||||
<%- block retry %>
|
||||
<%- endblock retry %>
|
||||
|
|
15
.github/workflows/templates/staging.yml.jinja
vendored
15
.github/workflows/templates/staging.yml.jinja
vendored
|
@ -151,19 +151,6 @@ on:
|
|||
pinentry-mode loopback
|
||||
EOF
|
||||
|
||||
- name: Get Secrets
|
||||
id: get-secrets
|
||||
env:
|
||||
SECRETS_KEY: ${{ secrets.SECRETS_KEY }}
|
||||
run: |
|
||||
SECRETS_KEY_FILE=$(mktemp /tmp/output.XXXXXXXXXX)
|
||||
echo "$SECRETS_KEY" > "$SECRETS_KEY_FILE"
|
||||
TWINE_PASSWORD=$(aws --region us-west-2 secretsmanager get-secret-value --secret-id /cmbu-saltstack/publishing/publish-test-pypi \
|
||||
--query SecretString --output text | jq .default_passphrase -r | base64 -d \
|
||||
| gpg --passphrase-file "$SECRETS_KEY_FILE" -d -)
|
||||
echo "::add-mask::$TWINE_PASSWORD"
|
||||
echo "twine-password=$TWINE_PASSWORD" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
- name: Download PyPi Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
@ -172,7 +159,7 @@ on:
|
|||
|
||||
- name: Publish to Test PyPi
|
||||
env:
|
||||
TWINE_PASSWORD: "${{ steps.get-secrets.outputs.twine-password }}"
|
||||
TWINE_PASSWORD: "${{ secrets.PYPI_TEST_PASSWORD }}"
|
||||
run: |
|
||||
tools pkg pypi-upload --test artifacts/release/salt-${{ needs.prepare-workflow.outputs.salt-version }}.tar.gz
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
|
||||
<%- set job_name = "trigger-branch-{}-builds".format(workflow_slug) %>
|
||||
<%- set branches = ["3006.x"] %>
|
||||
|
||||
<{ job_name }>:
|
||||
<%- do conclusion_needs.append(job_name) %>
|
||||
|
@ -9,10 +10,8 @@
|
|||
runs-on: ubuntu-22.04
|
||||
needs:
|
||||
- workflow-requirements
|
||||
|
||||
steps:
|
||||
<%- for branch in release_branches %>
|
||||
|
||||
<%- for branch in branches %>
|
||||
- name: Trigger <{ branch }> branch
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
11
.github/workflows/test-packages-action.yml
vendored
11
.github/workflows/test-packages-action.yml
vendored
|
@ -172,7 +172,7 @@ jobs:
|
|||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}${{ matrix.fips && '-fips' || '' }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/logs
|
||||
include-hidden-files: true
|
||||
|
@ -221,7 +221,7 @@ jobs:
|
|||
|
||||
- name: Install System Dependencies
|
||||
run: |
|
||||
brew install tree pkg-config mysql
|
||||
brew install tree
|
||||
|
||||
- name: List Packages
|
||||
run: |
|
||||
|
@ -298,7 +298,7 @@ jobs:
|
|||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/logs
|
||||
include-hidden-files: true
|
||||
|
@ -337,7 +337,6 @@ jobs:
|
|||
run: |
|
||||
t=$(python3 -c 'import random, sys; sys.stdout.write(str(random.randint(1, 15)))'); echo "Sleeping $t seconds"; sleep "$t"
|
||||
|
||||
|
||||
- name: "Set `TIMESTAMP` environment variable"
|
||||
shell: bash
|
||||
run: |
|
||||
|
@ -442,7 +441,7 @@ jobs:
|
|||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ inputs.nox-session }}-${{ matrix.transport }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
name: pkg-testrun-log-artifacts-${{ matrix.slug }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ inputs.salt-version }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/logs
|
||||
include-hidden-files: true
|
||||
|
@ -451,7 +450,7 @@ jobs:
|
|||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pkg-testrun-artifacts-${{ matrix.slug }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
name: pkg-testrun-artifacts-${{ matrix.slug }}-${{ matrix.pkg_type }}-${{ matrix.arch }}-${{ matrix.tests-chunk }}-${{ inputs.salt-version }}-${{ matrix.version || 'no-version'}}-${{ env.TIMESTAMP }}
|
||||
path: |
|
||||
artifacts/
|
||||
!artifacts/pkg/*
|
||||
|
|
2
.github/workflows/triage.yml
vendored
2
.github/workflows/triage.yml
vendored
|
@ -38,7 +38,7 @@ jobs:
|
|||
|
||||
- name: Download last assignment cache
|
||||
continue-on-error: true
|
||||
uses: dawidd6/action-download-artifact@v8
|
||||
uses: dawidd6/action-download-artifact@v3
|
||||
with:
|
||||
workflow: triage.yml
|
||||
name: last-assignment
|
||||
|
|
3
.github/workflows/workflow-finished.yml
vendored
3
.github/workflows/workflow-finished.yml
vendored
|
@ -3,7 +3,8 @@ run-name: Workflow Finished ${{ github.event.workflow_run.display_title }} (${{
|
|||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: [Nightly, Scheduled, Stage Release]
|
||||
workflows: ["Nightly", "Scheduled", "Stage Release"]
|
||||
branches: ["3006.x", "3007.x", "master"]
|
||||
types:
|
||||
- completed
|
||||
|
||||
|
|
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -16,14 +16,13 @@ MANIFEST
|
|||
.pytest_cache
|
||||
Pipfile.lock
|
||||
.mypy_cache/*
|
||||
.tools-venvs/
|
||||
|
||||
# virtualenv
|
||||
# - ignores directories of a virtualenv when you create it right on
|
||||
# top of salt such as
|
||||
# - /some/path$ git clone https://github.com/thatch45/salt.git
|
||||
# - /some/path$ virtualenv --python=/usr/bin/python2.6 salt
|
||||
/.?env/
|
||||
/env/
|
||||
/bin/
|
||||
/etc/
|
||||
/include/
|
||||
|
@ -36,7 +35,7 @@ Pipfile.lock
|
|||
/tests/cachedir/
|
||||
/tests/unit/templates/roots/
|
||||
/var/
|
||||
/.?venv/
|
||||
/venv/
|
||||
|
||||
# setuptools stuff
|
||||
*.egg-info
|
||||
|
|
|
@ -205,21 +205,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/pkg/linux.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-linux-3.13-zmq-requirements
|
||||
name: Linux Packaging Py3.13 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.13/linux\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/pkg/linux.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-freebsd-3.9-zmq-requirements
|
||||
name: FreeBSD Packaging Py3.9 ZeroMQ Requirements
|
||||
|
@ -280,21 +265,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/pkg/freebsd.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-freebsd-3.13-zmq-requirements
|
||||
name: FreeBSD Packaging Py3.13 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.13/freebsd\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=freebsd
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/pkg/freebsd.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-darwin-3.9-zmq-requirements
|
||||
name: Darwin Packaging Py3.9 ZeroMQ Requirements
|
||||
|
@ -351,20 +321,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/pkg/darwin.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-darwin-3.13-zmq-requirements
|
||||
name: Darwin Packaging Py3.13 ZeroMQ Requirements
|
||||
files: ^(requirements/((base|zeromq|crypto|darwin)\.txt|static/pkg/(darwin\.in|py3\.13/darwin\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=darwin
|
||||
- --include=requirements/darwin.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/pkg/darwin.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-windows-3.9-zmq-requirements
|
||||
name: Windows Packaging Py3.9 ZeroMQ Requirements
|
||||
|
@ -421,21 +377,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/pkg/windows.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-pkg-windows-3.13-zmq-requirements
|
||||
name: Windows Packaging Py3.13 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.13/windows\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=windows
|
||||
- --include=requirements/windows.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/pkg/windows.in
|
||||
|
||||
|
||||
# <---- Packaging Requirements -------------------------------------------------------------------------------------
|
||||
|
||||
# ----- CI Requirements ------------------------------------------------------------------------------------------->
|
||||
|
@ -512,24 +453,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/linux.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-linux-3.13-zmq-requirements
|
||||
name: Linux CI Py3.13 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.13/linux\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/linux.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-linux-crypto-3.9-requirements
|
||||
name: Linux CI Py3.9 Crypto Requirements
|
||||
|
@ -586,24 +509,10 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-linux-crypto-3.13-requirements
|
||||
name: Linux CI Py3.13 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.12/linux-crypto\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=linux
|
||||
- --out-prefix=linux
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-3.9-zmq-requirements
|
||||
name: FreeBSD CI Py3.9 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.9/freebsd\.txt)))$
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|py3\.9/freebsd\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -621,7 +530,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-3.10-zmq-requirements
|
||||
name: FreeBSD CI Py3.10 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.10/freebsd\.txt)))$
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|py3\.10/freebsd\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -639,7 +548,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-3.11-zmq-requirements
|
||||
name: FreeBSD CI Py3.11 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.11/freebsd\.txt)))$
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|py3\.11/freebsd\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -672,24 +581,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/freebsd.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-3.13-zmq-requirements
|
||||
name: FreeBSD CI Py3.13 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|py3\.13/freebsd\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=freebsd
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/freebsd.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/freebsd.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-crypto-3.9-requirements
|
||||
name: FreeBSD CI Py3.9 Crypto Requirements
|
||||
|
@ -699,7 +590,6 @@ repos:
|
|||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --build-isolation
|
||||
- --py-version=3.9
|
||||
- --platform=freebsd
|
||||
- --out-prefix=freebsd
|
||||
|
@ -709,6 +599,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-crypto-3.10-requirements
|
||||
name: FreeBSD CI Py3.10 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$
|
||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/freebsd-crypto\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
|
@ -748,24 +639,10 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-freebsd-crypto-3.13-requirements
|
||||
name: FreeBSD CI Py3.13 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.13/freebsd-crypto\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=freebsd
|
||||
- --out-prefix=freebsd
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-darwin-3.9-zmq-requirements
|
||||
name: Darwin CI Py3.9 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((darwin|common)\.in|py3\.9/darwin\.txt)))$
|
||||
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|py3\.9/darwin\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -782,7 +659,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-darwin-3.10-zmq-requirements
|
||||
name: Darwin CI Py3.10 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((darwin|common)\.in|py3\.10/darwin\.txt)))$
|
||||
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|py3\.10/darwin\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -799,7 +676,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-darwin-3.11-zmq-requirements
|
||||
name: Darwin CI Py3.11 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((darwin|common)\.in|py3\.11/darwin\.txt)))$
|
||||
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|py3\.11/darwin\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -830,24 +707,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/darwin.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-darwin-3.13-zmq-requirements
|
||||
name: Darwin CI Py3.13 ZeroMQ Requirements
|
||||
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|py3\.13/darwin\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=darwin
|
||||
- --include=requirements/darwin.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/darwin.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/darwin.in
|
||||
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-darwin-crypto-3.9-requirements
|
||||
name: Darwin CI Py3.9 Crypto Requirements
|
||||
|
@ -904,24 +763,10 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-darwin-crypto-3.13-requirements
|
||||
name: Darwin CI Py3.13 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.13/darwin-crypto\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=darwin
|
||||
- --out-prefix=darwin
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-windows-3.9-zmq-requirements
|
||||
name: Windows CI Py3.9 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.9/windows\.txt)))$
|
||||
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|py3\.9/windows\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -938,7 +783,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-windows-3.10-zmq-requirements
|
||||
name: Windows CI Py3.10 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.10/windows\.txt)))$
|
||||
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|py3\.10/windows\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -955,7 +800,7 @@ repos:
|
|||
- id: pip-tools-compile
|
||||
alias: compile-ci-windows-3.11-zmq-requirements
|
||||
name: Windows CI Py3.11 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.11/windows\.txt)))$
|
||||
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|py3\.11/windows\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
|
@ -986,23 +831,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/windows.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-windows-3.13-zmq-requirements
|
||||
name: Windows CI Py3.13 ZeroMQ Requirements
|
||||
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|py3\.13/windows\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=windows
|
||||
- --include=requirements/windows.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/windows.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/windows.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-windows-crypto-3.9-requirements
|
||||
name: Windows CI Py3.9 Crypto Requirements
|
||||
|
@ -1059,23 +887,9 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-windows-crypto-3.13-requirements
|
||||
name: Windows CI Py3.13 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.13/windows-crypto\.txt))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=windows
|
||||
- --out-prefix=windows
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/crypto.in
|
||||
|
||||
|
||||
# <---- CI Requirements --------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
# ----- Cloud CI Requirements ------------------------------------------------------------------------------------->
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-cloud-3.9-requirements
|
||||
|
@ -1086,6 +900,11 @@ repos:
|
|||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.9
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/cloud.in
|
||||
|
||||
|
@ -1098,6 +917,11 @@ repos:
|
|||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.10
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/cloud.in
|
||||
|
||||
|
@ -1110,6 +934,11 @@ repos:
|
|||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.11
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/cloud.in
|
||||
|
||||
|
@ -1129,23 +958,6 @@ repos:
|
|||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/cloud.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-cloud-3.13-requirements
|
||||
name: Cloud CI Py3.13 Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.13/cloud\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/cloud.in
|
||||
# <---- Cloud CI Requirements --------------------------------------------------------------------------------------
|
||||
|
||||
# ----- Doc CI Requirements --------------------------------------------------------------------------------------->
|
||||
|
@ -1159,6 +971,8 @@ repos:
|
|||
- --build-isolation
|
||||
- --py-version=3.9
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/docs.in
|
||||
|
||||
|
@ -1172,6 +986,8 @@ repos:
|
|||
- --build-isolation
|
||||
- --py-version=3.10
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/docs.in
|
||||
|
||||
|
@ -1184,8 +1000,10 @@ repos:
|
|||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.11
|
||||
- --no-emit-index-url
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/docs.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
|
@ -1203,22 +1021,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/docs.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-doc-requirements
|
||||
name: Docs CI Py3.13 Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/docs.in
|
||||
|
||||
|
||||
# <---- Doc CI Requirements ----------------------------------------------------------------------------------------
|
||||
|
||||
# ----- Lint CI Requirements -------------------------------------------------------------------------------------->
|
||||
|
@ -1233,6 +1035,11 @@ repos:
|
|||
- --build-isolation
|
||||
- --py-version=3.9
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/lint.in
|
||||
|
||||
|
@ -1246,19 +1053,29 @@ repos:
|
|||
- --build-isolation
|
||||
- --py-version=3.10
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/lint.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-lint-3.11-requirements
|
||||
name: Lint CI Py3.11 Requirements
|
||||
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.10/linux\.txt)))$
|
||||
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.11/linux\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.11
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/lint.in
|
||||
|
||||
|
@ -1280,24 +1097,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/lint.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-lint-3.13-requirements
|
||||
name: Lint CI Py3.13 Requirements
|
||||
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.13/linux\.txt)))$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/static/pkg/linux.in
|
||||
- --include=requirements/static/ci/linux.in
|
||||
- --include=requirements/static/ci/common.in
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/lint.in
|
||||
|
||||
# <---- Lint CI Requirements ---------------------------------------------------------------------------------------
|
||||
|
||||
# ----- Changelog ------------------------------------------------------------------------------------------------->
|
||||
|
@ -1352,19 +1151,6 @@ repos:
|
|||
- --platform=linux
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/changelog.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-changelog-3.13-requirements
|
||||
name: Changelog CI Py3.13 Requirements
|
||||
files: ^requirements/static/ci/(changelog\.in|py3\.13/(changelog|linux)\.txt)$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --platform=linux
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/changelog.in
|
||||
# <---- Changelog --------------------------------------------------------------------------------------------------
|
||||
|
||||
# ----- Tools ---------------------------------------------------------------------------------------------------->
|
||||
|
@ -1416,18 +1202,6 @@ repos:
|
|||
- --no-emit-index-url
|
||||
- requirements/static/ci/tools.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-tools-3.13-requirements
|
||||
name: Linux CI Py3.13 Tools Requirements
|
||||
files: ^requirements/static/ci/(tools\.in|py3.13/(tools|linux)\.txt)$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --build-isolation
|
||||
- --py-version=3.13
|
||||
- --no-emit-index-url
|
||||
- requirements/static/ci/tools.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-tools-virustotal-3.9-requirements
|
||||
name: Linux CI Py3.9 Tools virustotal Requirements
|
||||
|
@ -1467,16 +1241,6 @@ repos:
|
|||
- -v
|
||||
- --py-version=3.12
|
||||
- requirements/static/ci/tools-virustotal.in
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-ci-tools-virustotal-3.13-requirements
|
||||
name: Linux CI Py3.13 Tools virustotal Requirements
|
||||
files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.13/(tools(-virustotal)?|linux)\.txt)$
|
||||
pass_filenames: false
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.13
|
||||
- requirements/static/ci/tools-virustotal.in
|
||||
# <---- Tools -----------------------------------------------------------------------------------------------------
|
||||
|
||||
# ----- Code Formatting ------------------------------------------------------------------------------------------->
|
||||
|
@ -1505,10 +1269,10 @@ repos:
|
|||
rev: 2.5.2
|
||||
hooks:
|
||||
- id: salt-rewrite
|
||||
alias: rewrite-salt
|
||||
name: Salt code auto-fixes
|
||||
alias: rewrite-docstrings
|
||||
name: Salt docstrings auto-fixes
|
||||
files: ^salt/.*\.py$
|
||||
args: [--silent, -F, fix_docstrings, -F, fix_warn_until]
|
||||
args: [--silent, -F, fix_docstrings]
|
||||
exclude: >
|
||||
(?x)^(
|
||||
salt/ext/.*
|
||||
|
@ -1518,7 +1282,7 @@ repos:
|
|||
alias: rewrite-tests
|
||||
name: Rewrite Salt's Test Suite
|
||||
files: ^tests/.*\.py$
|
||||
args: [--silent, -E, fix_asserts, -E, fix_docstrings, -E, fix_tornado_imports]
|
||||
args: [--silent, -E, fix_asserts, -E, fix_docstrings]
|
||||
|
||||
- repo: https://github.com/timothycrosley/isort
|
||||
rev: 5.13.2
|
||||
|
@ -1551,12 +1315,7 @@ repos:
|
|||
hooks:
|
||||
- id: blacken-docs
|
||||
args: [--skip-errors]
|
||||
files: ^(doc/)?.*\.(rst|md)
|
||||
exclude: >
|
||||
(?x)^(
|
||||
rfcs/.*|
|
||||
salt/ext/.*|
|
||||
)$
|
||||
files: ^doc/.*\.rst
|
||||
additional_dependencies:
|
||||
- black==24.2.0
|
||||
|
||||
|
|
|
@ -452,7 +452,6 @@ disable=R,
|
|||
line-too-long,
|
||||
locally-disabled,
|
||||
logging-format-interpolation,
|
||||
logging-fstring-interpolation,
|
||||
missing-docstring,
|
||||
no-member,
|
||||
protected-access,
|
||||
|
@ -761,7 +760,4 @@ allowed-3rd-party-modules=msgpack,
|
|||
pytestskipmarkers,
|
||||
cryptography,
|
||||
aiohttp,
|
||||
pytest_timeout,
|
||||
networkx,
|
||||
urllib3,
|
||||
idna
|
||||
pytest_timeout
|
||||
|
|
27
.rstcheck.cfg
Normal file
27
.rstcheck.cfg
Normal file
|
@ -0,0 +1,27 @@
|
|||
[rstcheck]
|
||||
ignore_directives=
|
||||
automodule,
|
||||
autoclass,
|
||||
autofunction,
|
||||
conf_proxy,
|
||||
conf_log,
|
||||
conf_master,
|
||||
conf_minion,
|
||||
releasestree,
|
||||
jinja_ref,
|
||||
salt:event
|
||||
ignore_roles=
|
||||
conf_master,
|
||||
conf_minion,
|
||||
conf_proxy,
|
||||
conf_log,
|
||||
formula_url,
|
||||
issue,
|
||||
pull,
|
||||
blob,
|
||||
jinja_ref
|
||||
ignore_substitutions=
|
||||
saltrepo,
|
||||
repo_primary_branch,
|
||||
windownload,
|
||||
osxdownloadpy3
|
483
CHANGELOG.md
483
CHANGELOG.md
|
@ -7,12 +7,121 @@ Versions are `MAJOR.PATCH`.
|
|||
|
||||
# Changelog
|
||||
|
||||
## 3007.1 (2024-05-19)
|
||||
## 3006.10 (2025-03-19)
|
||||
|
||||
|
||||
### Removed
|
||||
|
||||
- The ``salt.utils.psutil_compat`` was deprecated and now removed in Salt 3008. Please use the ``psutil`` module directly. [#66160](https://github.com/saltstack/salt/issues/66160)
|
||||
- Remove psutil_compat.py file, which should have been removed when RHEL 6 EOL [#66467](https://github.com/saltstack/salt/issues/66467)
|
||||
- Removed dependency on bsdmainutils package for Debian and Ubuntu [#67184](https://github.com/saltstack/salt/issues/67184)
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
||||
- Drop Arch Linux support [#66886](https://github.com/saltstack/salt/issues/66886)
|
||||
- Removed support for end of life Python 3.7 and 3.8 from pre-commit and requirements [#67729](https://github.com/saltstack/salt/issues/67729)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- Commands on Windows are now prefixed with ``cmd /c`` so that compound
|
||||
commands (commands separated by ``&&``) run properly when using ``runas`` [#44736](https://github.com/saltstack/salt/issues/44736)
|
||||
- Issue 58969: Fixes an issue with `saltclass.expand_classes_in_order`
|
||||
function where it was losing nested classes states during class
|
||||
expansion. The logic now use `salt.utils.odict.OrderedDict` to keep
|
||||
the inclusion ordering. [#58969](https://github.com/saltstack/salt/issues/58969)
|
||||
- Fix issue with RunAs on Windows so that usernames of all numeric characters
|
||||
are handled as strings [#59344](https://github.com/saltstack/salt/issues/59344)
|
||||
- Fixed an issue on Windows where checking success_retcodes when using the
|
||||
runas parameter would fail. Now success_retcodes are checked correctly [#59977](https://github.com/saltstack/salt/issues/59977)
|
||||
- Fix an issue with cmd.script in Windows so that the exit code from a script will
|
||||
be passed through to the retcode of the state [#60884](https://github.com/saltstack/salt/issues/60884)
|
||||
- Fixed an issue uninstalling packages on Windows using pkg.removed where there
|
||||
are multiple versions of the same software installed [#61001](https://github.com/saltstack/salt/issues/61001)
|
||||
- Ensure file clients for runner, wheel, local and caller are available from the client_cache if called upon. [#61416](https://github.com/saltstack/salt/issues/61416)
|
||||
- Convert stdin string to bytes regardless of stdin_raw_newlines [#62501](https://github.com/saltstack/salt/issues/62501)
|
||||
- Issue 63933: Fixes an issue with `saltclass.expanded_dict_from_minion`
|
||||
function where it was passing a reference to minion `dict` which was
|
||||
overridden by nested classes during class expansion. Copy the node
|
||||
definition with `copy.deepcopy` instead of passing a reference. [#63933](https://github.com/saltstack/salt/issues/63933)
|
||||
- Fixed an intermittent issue with file.recurse where the state would
|
||||
report failure even on success. Makes sure symlinks are created
|
||||
after the target file is created [#64630](https://github.com/saltstack/salt/issues/64630)
|
||||
- The 'profile' outputter does not crash with incorrectly formatted data [#65104](https://github.com/saltstack/salt/issues/65104)
|
||||
- Updating version comparison for rpm and removed obsolete comparison methods for rpms [#65443](https://github.com/saltstack/salt/issues/65443)
|
||||
- Fix batch mode hang indefinitely in some scenarios [#66249](https://github.com/saltstack/salt/issues/66249)
|
||||
- Applying `selinux.fcontext_policy_present` to a shorter path than an existing entry now works [#66252](https://github.com/saltstack/salt/issues/66252)
|
||||
- Correct bash-completion for Debian / Ubuntu [#66560](https://github.com/saltstack/salt/issues/66560)
|
||||
- Fix minion config option startup_states [#66592](https://github.com/saltstack/salt/issues/66592)
|
||||
- Fixed an issue with cmd.run with requirements when the shell is not the
|
||||
default [#66596](https://github.com/saltstack/salt/issues/66596)
|
||||
- Fixes an issue when getting account names using the get_name function in the
|
||||
win_dacl.py salt util. Capability SIDs return ``None``. SIDs for deleted
|
||||
accounts return the SID. SIDs for domain accounts where the system is not
|
||||
connected to the domain return the SID. [#66637](https://github.com/saltstack/salt/issues/66637)
|
||||
- Fixed an issue where ``status.master`` wasn't detecting a connection to the
|
||||
specified master properly [#66716](https://github.com/saltstack/salt/issues/66716)
|
||||
- Fixed ``win_wua.available`` when some of the update objects are empty CDispatch
|
||||
objects. The ``available`` function no longer crashes [#66718](https://github.com/saltstack/salt/issues/66718)
|
||||
- Clean up multiprocessing file handles on minion [#66726](https://github.com/saltstack/salt/issues/66726)
|
||||
- Fixed nacl.keygen for not yet existing sk_file or pk_file [#66772](https://github.com/saltstack/salt/issues/66772)
|
||||
- fix yaml output [#66783](https://github.com/saltstack/salt/issues/66783)
|
||||
- Fixed an issue where enabling `grain_opts` in the minion config would cause
|
||||
some core grains to be overwritten. [#66784](https://github.com/saltstack/salt/issues/66784)
|
||||
- Fix an issue where files created using `salt.utils.atomicile.atomic_open()`
|
||||
were created with restrictive permissions instead of respecting the umask. [#66786](https://github.com/saltstack/salt/issues/66786)
|
||||
- Fix bad async_method name on AsyncPubClient class [#66789](https://github.com/saltstack/salt/issues/66789)
|
||||
- Ensure Manjaro ARM reports the correct os_family of Arch. [#66796](https://github.com/saltstack/salt/issues/66796)
|
||||
- Removed ``salt.utils.data.decode`` usage from the fileserver. This function was
|
||||
necessary to support Python 2. This speeds up loading the list cache by 80-90x. [#66835](https://github.com/saltstack/salt/issues/66835)
|
||||
- Issue 66837: Fixes an issue with the `network.local_port_tcp` function
|
||||
where it was not parsing the IPv4 mapped IPv6 address correctly. The
|
||||
``::ffff:`` is now removed and only the IP address is returned. [#66837](https://github.com/saltstack/salt/issues/66837)
|
||||
- Better handling output of `systemctl --version` with salt.grains.core._systemd [#66856](https://github.com/saltstack/salt/issues/66856)
|
||||
- Upgrade relenv to 0.17.3. This release includes python 3.10.15, openssl 3.2.3,
|
||||
and fixes for pip 24.2. [#66858](https://github.com/saltstack/salt/issues/66858)
|
||||
- Remove caching of 'systemctl status' in systemd_service to fix automatic daemon-reload for repeated invocations. [#66864](https://github.com/saltstack/salt/issues/66864)
|
||||
- Added cryptogrpahy back to base.txt requirements as a dependency [#66883](https://github.com/saltstack/salt/issues/66883)
|
||||
- Remove "perms" from `linux_acl.list_absent()` documentation [#66891](https://github.com/saltstack/salt/issues/66891)
|
||||
- Ensure minion start event coroutines are run [#66932](https://github.com/saltstack/salt/issues/66932)
|
||||
- Allow for secure-boot efivars directory having SecureBoot-xxx files, not directories with a data file [#66955](https://github.com/saltstack/salt/issues/66955)
|
||||
- Removed the usage of wmic to get the disk and iscsi grains for Windows. The wmic
|
||||
binary is being deprecated. [#66959](https://github.com/saltstack/salt/issues/66959)
|
||||
- Fixes an issue with the LGPO module when trying to parse ADMX/ADML files
|
||||
that have a space in the XMLNS url in the policyDefinitionsResources header. [#66992](https://github.com/saltstack/salt/issues/66992)
|
||||
- Ensured global dunders like __env__ are defined in state module that are run in parallel on spawning platforms [#66996](https://github.com/saltstack/salt/issues/66996)
|
||||
- Filtered unpicklable objects from the context dict when invoking states in parallel on spawning platforms to avoid a crash [#66999](https://github.com/saltstack/salt/issues/66999)
|
||||
- Update for deprecation of hex in pygit2 1.15.0 and above [#67017](https://github.com/saltstack/salt/issues/67017)
|
||||
- Fixed blob path for salt.ufw in the firewall tutorial documentation [#67019](https://github.com/saltstack/salt/issues/67019)
|
||||
- Update locations for bootstrap scripts, to new infrastructure, GitHub releases for bootstrap [#67020](https://github.com/saltstack/salt/issues/67020)
|
||||
- Constrained the localfs module to operations inside the specified cachedir [#67031](https://github.com/saltstack/salt/issues/67031)
|
||||
- Added support for dnf5 (backport from 3007) and update to its new command syntax changes since 2023 [#67057](https://github.com/saltstack/salt/issues/67057)
|
||||
- Recognise newer AMD GPU devices [#67058](https://github.com/saltstack/salt/issues/67058)
|
||||
- Fix yumpkg module for Python<3.8 [#67091](https://github.com/saltstack/salt/issues/67091)
|
||||
- Fixed an issue with making changes to the Windows Firewall when the
|
||||
AllowInboundRules setting is set to True [#67122](https://github.com/saltstack/salt/issues/67122)
|
||||
- Added support and tests for dnf5 to services_need_restart for yum packages [#67177](https://github.com/saltstack/salt/issues/67177)
|
||||
- Use os.walk to traverse git branches, and no longer replace slash '/' in git branch names [#67722](https://github.com/saltstack/salt/issues/67722)
|
||||
- Set correct virtual grain in systemd based Podman containers [#67733](https://github.com/saltstack/salt/issues/67733)
|
||||
- Corrected option --upgrades for dnf[5] for function list_upgrades [#67743](https://github.com/saltstack/salt/issues/67743)
|
||||
- Fix salt-ssh for hosts that use password as the SSH password [#67754](https://github.com/saltstack/salt/issues/67754)
|
||||
- Corrected dnf5 option --downloadonly for dnf5 install [#67769](https://github.com/saltstack/salt/issues/67769)
|
||||
- Upgrade relenv to 0.18.1. Which includes python 3.10.16 and openssl 3.2.4.
|
||||
Openssl 3.2.4 fixes CVE-2024-12797 and CVE-2024-13176 [#67792](https://github.com/saltstack/salt/issues/67792)
|
||||
- Update jinja2 to 3.1.5, advisories GHSA-q2x7-8rv6-6q7h and GHSA-gmj6-6f8f-6699
|
||||
Update urllib3 to 1.26.18 advisories GHSA-34jh-p97f-mpxf [#67794](https://github.com/saltstack/salt/issues/67794)
|
||||
- Ensure salt-cloud has salt-master dependency on Debian and Ubuntu [#67810](https://github.com/saltstack/salt/issues/67810)
|
||||
- Fix traceback from _send_req_sync method on minion by raising proper timeout error. [#67891](https://github.com/saltstack/salt/issues/67891)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
- Issue #33669: Fixes an issue with the ``ini_managed`` execution module
|
||||
where it would always wrap the separator with spaces. Adds a new parameter
|
||||
named ``no_spaces`` that will not warp the separator with spaces. [#33669](https://github.com/saltstack/salt/issues/33669)
|
||||
- Enhance json.find_json to return json even when it contains text on the same line of the last closing parenthesis [#67023](https://github.com/saltstack/salt/issues/67023)
|
||||
|
||||
|
||||
## 3006.9 (2024-07-29)
|
||||
|
||||
|
||||
|
@ -37,17 +146,6 @@ Versions are `MAJOR.PATCH`.
|
|||
Strips whitespace from the return when using ``runas``. [#61166](https://github.com/saltstack/salt/issues/61166)
|
||||
- Fixed the win_lgpo_netsh salt util to handle non-English systems. This was a
|
||||
rewrite to use PowerShell instead of netsh to make the changes on the system [#61534](https://github.com/saltstack/salt/issues/61534)
|
||||
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
- Corrected x509_v2 CRL creation `last_update` and `next_update` values when system timezone is not UTC [#65837](https://github.com/saltstack/salt/issues/65837)
|
||||
- Fix for NoneType can't be used in 'await' expression error. [#66177](https://github.com/saltstack/salt/issues/66177)
|
||||
- Log "Publish server binding pub to" messages to debug instead of error level. [#66179](https://github.com/saltstack/salt/issues/66179)
|
||||
- Fix syndic startup by making payload handler a coroutine [#66237](https://github.com/saltstack/salt/issues/66237)
|
||||
- Fixed `aptpkg.remove` "unable to locate package" error for non-existent package [#66260](https://github.com/saltstack/salt/issues/66260)
|
||||
- Fixed pillar.ls doesn't accept kwargs [#66262](https://github.com/saltstack/salt/issues/66262)
|
||||
- Fix cache directory setting in Master Cluster tutorial [#66264](https://github.com/saltstack/salt/issues/66264)
|
||||
- Change log level of successful master cluster key exchange from error to info. [#66266](https://github.com/saltstack/salt/issues/66266)
|
||||
- Made `file.managed` skip download of a remote source if the managed file already exists with the correct hash [#66342](https://github.com/saltstack/salt/issues/66342)
|
||||
- Fixed nftables.build_rule breaks ipv6 rules by using the wrong syntax for source and destination addresses [#66382](https://github.com/saltstack/salt/issues/66382)
|
||||
- file.replace and file.search work properly with /proc files [#63102](https://github.com/saltstack/salt/issues/63102)
|
||||
- Fix utf8 handling in 'pass' renderer [#64300](https://github.com/saltstack/salt/issues/64300)
|
||||
- Fixed incorrect version argument will be ignored for multiple package targets warning when using pkgs argument to yumpkg module. [#64563](https://github.com/saltstack/salt/issues/64563)
|
||||
|
@ -84,11 +182,6 @@ Versions are `MAJOR.PATCH`.
|
|||
|
||||
### Added
|
||||
|
||||
- Added the ability to pass a version of chocolatey to install to the
|
||||
chocolatey.bootstrap function. Also added states to bootstrap and
|
||||
unbootstrap chocolatey. [#64722](https://github.com/saltstack/salt/issues/64722)
|
||||
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
|
||||
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
|
||||
- Add Ubuntu 24.04 support [#66180](https://github.com/saltstack/salt/issues/66180)
|
||||
- Add Fedora 40 support, replacing Fedora 39 [#66300](https://github.com/saltstack/salt/issues/66300)
|
||||
- Build RPM packages with Rocky Linux 9 (instead of CentOS Stream 9) [#66624](https://github.com/saltstack/salt/issues/66624)
|
||||
|
@ -96,8 +189,6 @@ Versions are `MAJOR.PATCH`.
|
|||
|
||||
### Security
|
||||
|
||||
- Bump to `pydantic==2.6.4` due to https://github.com/advisories/GHSA-mr82-8j83-vxmv [#66433](https://github.com/saltstack/salt/issues/66433)
|
||||
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
|
||||
- Bump to ``jinja2==3.1.4`` due to https://github.com/advisories/GHSA-h75v-3vvj-5mfj [#66488](https://github.com/saltstack/salt/issues/66488)
|
||||
- CVE-2024-37088 salt-call will fail with exit code 1 if bad pillar data is
|
||||
encountered. [#66702](https://github.com/saltstack/salt/issues/66702)
|
||||
|
@ -184,358 +275,6 @@ Versions are `MAJOR.PATCH`.
|
|||
- Bump to `aiohttp==3.9.4` due to https://github.com/advisories/GHSA-7gpw-8wmc-pm8g [#66411](https://github.com/saltstack/salt/issues/66411)
|
||||
|
||||
|
||||
## 3007.0 (2024-03-03)
|
||||
|
||||
|
||||
### Removed
|
||||
|
||||
- Removed RHEL 5 support since long since end-of-lifed [#62520](https://github.com/saltstack/salt/issues/62520)
|
||||
- Removing Azure-Cloud modules from the code base. [#64322](https://github.com/saltstack/salt/issues/64322)
|
||||
- Dropped Python 3.7 support since it's EOL in 27 Jun 2023 [#64417](https://github.com/saltstack/salt/issues/64417)
|
||||
- Remove salt.payload.Serial [#64459](https://github.com/saltstack/salt/issues/64459)
|
||||
- Remove netmiko_conn and pyeapi_conn from salt.modules.napalm_mod [#64460](https://github.com/saltstack/salt/issues/64460)
|
||||
- Removed 'transport' arg from salt.utils.event.get_event [#64461](https://github.com/saltstack/salt/issues/64461)
|
||||
- Removed the usage of retired Linode API v3 from Salt Cloud [#64517](https://github.com/saltstack/salt/issues/64517)
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
||||
- Deprecate all Proxmox cloud modules [#64224](https://github.com/saltstack/salt/issues/64224)
|
||||
- Deprecate all the Vault modules in favor of the Vault Salt Extension https://github.com/salt-extensions/saltext-vault. The Vault modules will be removed in Salt core in 3009.0. [#64893](https://github.com/saltstack/salt/issues/64893)
|
||||
- Deprecate all the Docker modules in favor of the Docker Salt Extension https://github.com/saltstack/saltext-docker. The Docker modules will be removed in Salt core in 3009.0. [#64894](https://github.com/saltstack/salt/issues/64894)
|
||||
- Deprecate all the Zabbix modules in favor of the Zabbix Salt Extension https://github.com/salt-extensions/saltext-zabbix. The Zabbix modules will be removed in Salt core in 3009.0. [#64896](https://github.com/saltstack/salt/issues/64896)
|
||||
- Deprecate all the Apache modules in favor of the Apache Salt Extension https://github.com/salt-extensions/saltext-apache. The Apache modules will be removed in Salt core in 3009.0. [#64909](https://github.com/saltstack/salt/issues/64909)
|
||||
- Deprecation warning for Salt's backport of ``OrderedDict`` class which will be removed in 3009 [#65542](https://github.com/saltstack/salt/issues/65542)
|
||||
- Deprecate Kubernetes modules for move to saltext-kubernetes in version 3009 [#65565](https://github.com/saltstack/salt/issues/65565)
|
||||
- Deprecated all Pushover modules in favor of the Salt Extension at https://github.com/salt-extensions/saltext-pushover. The Pushover modules will be removed from Salt core in 3009.0 [#65567](https://github.com/saltstack/salt/issues/65567)
|
||||
- Removed deprecated code:
|
||||
|
||||
* All of ``salt/log/`` which has been on a deprecation path for a long time.
|
||||
* Some of the logging handlers found in ``salt/_logging/handlers`` have been removed since the standard library provides
|
||||
them.
|
||||
* Removed the deprecated ``salt/modules/cassandra_mod.py`` module and any tests for it.
|
||||
* Removed the deprecated ``salt/returners/cassandra_return.py`` module and any tests for it.
|
||||
* Removed the deprecated ``salt/returners/django_return.py`` module and any tests for it. [#65986](https://github.com/saltstack/salt/issues/65986)
|
||||
|
||||
|
||||
### Changed
|
||||
|
||||
- Masquerade property will not default to false turning off masquerade if not specified. [#53120](https://github.com/saltstack/salt/issues/53120)
|
||||
- Addressed Python 3.11 deprecations:
|
||||
|
||||
* Switch to `FullArgSpec` since Py 3.11 no longer has `ArgSpec`, deprecated since Py 3.0
|
||||
* Stopped using the deprecated `cgi` module.
|
||||
* Stopped using the deprecated `pipes` module
|
||||
* Stopped using the deprecated `imp` module [#64457](https://github.com/saltstack/salt/issues/64457)
|
||||
- changed 'gpg_decrypt_must_succeed' default from False to True [#64462](https://github.com/saltstack/salt/issues/64462)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- When an NFS or FUSE mount fails to unmount when mount options have changed, try again with a lazy umount before mounting again. [#18907](https://github.com/saltstack/salt/issues/18907)
|
||||
- fix autoaccept gpg keys by supporting it in refresh_db module [#42039](https://github.com/saltstack/salt/issues/42039)
|
||||
- Made cmd.script work with files from the fileserver via salt-ssh [#48067](https://github.com/saltstack/salt/issues/48067)
|
||||
- Made slsutil.renderer work with salt-ssh [#50196](https://github.com/saltstack/salt/issues/50196)
|
||||
- Fixed defaults.merge is not available when using salt-ssh [#51605](https://github.com/saltstack/salt/issues/51605)
|
||||
- Fix extfs.mkfs missing parameter handling for -C, -d, and -e [#51858](https://github.com/saltstack/salt/issues/51858)
|
||||
- Fixed Salt master does not renew token [#51986](https://github.com/saltstack/salt/issues/51986)
|
||||
- Fixed salt-ssh continues state/pillar rendering with incorrect data when an exception is raised by a module on the target [#52452](https://github.com/saltstack/salt/issues/52452)
|
||||
- Fix extfs.tune has 'reserved' documented twice and is missing the 'reserved_percentage' keyword argument [#54426](https://github.com/saltstack/salt/issues/54426)
|
||||
- Fix the ability of the 'selinux.port_policy_present' state to modify. [#55687](https://github.com/saltstack/salt/issues/55687)
|
||||
- Fixed config.get does not support merge option with salt-ssh [#56441](https://github.com/saltstack/salt/issues/56441)
|
||||
- Removed an unused assignment in file.patch [#57204](https://github.com/saltstack/salt/issues/57204)
|
||||
- Fixed vault module fetching more than one secret in one run with single-use tokens [#57561](https://github.com/saltstack/salt/issues/57561)
|
||||
- Use brew path from which in mac_brew_pkg module and rely on _homebrew_bin() everytime [#57946](https://github.com/saltstack/salt/issues/57946)
|
||||
- Fixed Vault verify option to work on minions when only specified in master config [#58174](https://github.com/saltstack/salt/issues/58174)
|
||||
- Fixed vault command errors configured locally [#58580](https://github.com/saltstack/salt/issues/58580)
|
||||
- Fixed issue with basic auth causing invalid header error and 401 Bad Request, by using HTTPBasicAuthHandler instead of header. [#58936](https://github.com/saltstack/salt/issues/58936)
|
||||
- Make the LXD module work with pyLXD > 2.10 [#59514](https://github.com/saltstack/salt/issues/59514)
|
||||
- Return error if patch file passed to state file.patch is malformed. [#59806](https://github.com/saltstack/salt/issues/59806)
|
||||
- Handle failure and error information from tuned module/state [#60500](https://github.com/saltstack/salt/issues/60500)
|
||||
- Fixed sdb.get_or_set_hash with Vault single-use tokens [#60779](https://github.com/saltstack/salt/issues/60779)
|
||||
- Fixed state.test does not work with salt-ssh [#61100](https://github.com/saltstack/salt/issues/61100)
|
||||
- Made slsutil.findup work with salt-ssh [#61143](https://github.com/saltstack/salt/issues/61143)
|
||||
- Allow all primitive grain types for autosign_grains [#61416](https://github.com/saltstack/salt/issues/61416), [#63708](https://github.com/saltstack/salt/issues/63708)
|
||||
- `ipset.new_set` no longer fails when creating a set type that uses the `family` create option [#61620](https://github.com/saltstack/salt/issues/61620)
|
||||
- Fixed Vault session storage to allow unlimited use tokens [#62380](https://github.com/saltstack/salt/issues/62380)
|
||||
- fix the efi grain on FreeBSD [#63052](https://github.com/saltstack/salt/issues/63052)
|
||||
- Fixed gpg.receive_keys returns success on failed import [#63144](https://github.com/saltstack/salt/issues/63144)
|
||||
- Fixed GPG state module always reports success without changes [#63153](https://github.com/saltstack/salt/issues/63153)
|
||||
- Fixed GPG state module does not respect test mode [#63156](https://github.com/saltstack/salt/issues/63156)
|
||||
- Fixed gpg.absent with gnupghome/user, fixed gpg.delete_key with gnupghome [#63159](https://github.com/saltstack/salt/issues/63159)
|
||||
- Fixed service module does not handle enable/disable if systemd service is an alias [#63214](https://github.com/saltstack/salt/issues/63214)
|
||||
- Made x509_v2 compound match detection use new runner instead of peer publishing [#63278](https://github.com/saltstack/salt/issues/63278)
|
||||
- Need to make sure we update __pillar__ during a pillar refresh to ensure that process_beacons has the updated beacons loaded from pillar. [#63583](https://github.com/saltstack/salt/issues/63583)
|
||||
- This implements the vpc_uuid parameter when creating a droplet. This parameter selects the correct virtual private cloud (private network interface). [#63714](https://github.com/saltstack/salt/issues/63714)
|
||||
- pkg.installed no longer reports failure when installing packages that are installed via the task manager [#63767](https://github.com/saltstack/salt/issues/63767)
|
||||
- mac_xattr.list and mac_xattr.read will replace undecode-able bytes to avoid raising CommandExecutionError. [#63779](https://github.com/saltstack/salt/issues/63779) [#63779](https://github.com/saltstack/salt/issues/63779)
|
||||
- Fix aptpkg.latest_version performance, reducing number of times to 'shell out' [#63982](https://github.com/saltstack/salt/issues/63982)
|
||||
- Added option to use a fresh connection for mysql cache [#63991](https://github.com/saltstack/salt/issues/63991)
|
||||
- [lxd] Fixed a bug in `container_create` which prevented devices which are not of type `disk` to be correctly created and added to the container when passed via the `devices` parameter. [#63996](https://github.com/saltstack/salt/issues/63996)
|
||||
- Skipped the `isfile` check to greatly increase speed of reading minion keys for systems with a large number of minions on slow file storage [#64260](https://github.com/saltstack/salt/issues/64260)
|
||||
- Fix utf8 handling in 'pass' renderer [#64300](https://github.com/saltstack/salt/issues/64300)
|
||||
- Upgade tornado to 6.3.2 [#64305](https://github.com/saltstack/salt/issues/64305)
|
||||
- Prevent errors due missing 'transactional_update.apply' on SLE Micro and MicroOS. [#64369](https://github.com/saltstack/salt/issues/64369)
|
||||
- Fix 'unable to unmount' failure to return False result instead of None [#64420](https://github.com/saltstack/salt/issues/64420)
|
||||
- Fixed issue uninstalling duplicate packages in ``win_appx`` execution module [#64450](https://github.com/saltstack/salt/issues/64450)
|
||||
- Clean up tech debt, IPC now uses tcp transport. [#64488](https://github.com/saltstack/salt/issues/64488)
|
||||
- Made salt-ssh more strict when handling unexpected situations and state.* wrappers treat a remote exception as failure, excluded salt-ssh error returns from mine [#64531](https://github.com/saltstack/salt/issues/64531)
|
||||
- Fix flaky test for LazyLoader with isolated mocking of threading.RLock [#64567](https://github.com/saltstack/salt/issues/64567)
|
||||
- Fix possible `KeyError` exceptions in `salt.utils.user.get_group_dict`
|
||||
while reading improper duplicated GID assigned for the user. [#64599](https://github.com/saltstack/salt/issues/64599)
|
||||
- changed vm_config() to deep-merge vm_overrides of specific VM, instead of simple-merging the whole vm_overrides [#64610](https://github.com/saltstack/salt/issues/64610)
|
||||
- Fix the way Salt tries to get the Homebrew's prefix
|
||||
|
||||
The first attempt to get the Homebrew's prefix is to look for
|
||||
the `HOMEBREW_PREFIX` environment variable. If it's not set, then
|
||||
Salt tries to get the prefix from the `brew` command. However, the
|
||||
`brew` command can fail. So a last attempt is made to get the
|
||||
prefix by guessing the installation path. [#64924](https://github.com/saltstack/salt/issues/64924)
|
||||
- Add missing MySQL Grant SERVICE_CONNECTION_ADMIN to mysql module. [#64934](https://github.com/saltstack/salt/issues/64934)
|
||||
- Fixed slsutil.update with salt-ssh during template rendering [#65067](https://github.com/saltstack/salt/issues/65067)
|
||||
- Keep track when an included file only includes sls files but is a requisite. [#65080](https://github.com/saltstack/salt/issues/65080)
|
||||
- Fixed `gpg.present` succeeds when the keyserver is unreachable [#65169](https://github.com/saltstack/salt/issues/65169)
|
||||
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
- Dereference symlinks to set proper __cli opt [#65435](https://github.com/saltstack/salt/issues/65435)
|
||||
- Made salt-ssh merge master top returns for the same environment [#65480](https://github.com/saltstack/salt/issues/65480)
|
||||
- Account for situation where the metadata grain fails because the AWS environment requires an authentication token to query the metadata URL. [#65513](https://github.com/saltstack/salt/issues/65513)
|
||||
- Improve the condition of overriding target for pip with VENV_PIP_TARGET environment variable. [#65562](https://github.com/saltstack/salt/issues/65562)
|
||||
- Added SSH wrapper for logmod [#65630](https://github.com/saltstack/salt/issues/65630)
|
||||
- Include changes in the results when schedule.present state is run with test=True. [#65652](https://github.com/saltstack/salt/issues/65652)
|
||||
- Fix extfs.tune doesn't pass retcode to module.run [#65686](https://github.com/saltstack/salt/issues/65686)
|
||||
- Return an error message when the DNS plugin is not supported [#65739](https://github.com/saltstack/salt/issues/65739)
|
||||
- Execution modules have access to regular fileclient durring pillar rendering. [#66124](https://github.com/saltstack/salt/issues/66124)
|
||||
- Fixed a issue with server channel where a minion's public key
|
||||
would be rejected if it contained a final newline character. [#66126](https://github.com/saltstack/salt/issues/66126)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
- Allowed publishing to regular minions from the SSH wrapper [#40943](https://github.com/saltstack/salt/issues/40943)
|
||||
- Added syncing of custom salt-ssh wrappers [#45450](https://github.com/saltstack/salt/issues/45450)
|
||||
- Made salt-ssh sync custom utils [#53666](https://github.com/saltstack/salt/issues/53666)
|
||||
- Add ability to use file.managed style check_cmd in file.serialize [#53982](https://github.com/saltstack/salt/issues/53982)
|
||||
- Revised use of deprecated net-tools and added support for ip neighbour with IPv4 ip_neighs, IPv6 ip_neighs6 [#57541](https://github.com/saltstack/salt/issues/57541)
|
||||
- Added password support to Redis returner. [#58044](https://github.com/saltstack/salt/issues/58044)
|
||||
- Added a state (win_task) for managing scheduled tasks on Windows [#59037](https://github.com/saltstack/salt/issues/59037)
|
||||
- Added keyring param to gpg modules [#59783](https://github.com/saltstack/salt/issues/59783)
|
||||
- Added new grain to detect the Salt package type: onedir, pip or system [#62589](https://github.com/saltstack/salt/issues/62589)
|
||||
- Added Vault AppRole and identity issuance to minions [#62823](https://github.com/saltstack/salt/issues/62823)
|
||||
- Added Vault AppRole auth mount path configuration option [#62825](https://github.com/saltstack/salt/issues/62825)
|
||||
- Added distribution of Vault authentication details via response wrapping [#62828](https://github.com/saltstack/salt/issues/62828)
|
||||
- Add salt package type information. Either onedir, pip or system. [#62961](https://github.com/saltstack/salt/issues/62961)
|
||||
- Added signature verification to file.managed/archive.extracted [#63143](https://github.com/saltstack/salt/issues/63143)
|
||||
- Added signed_by_any/signed_by_all parameters to gpg.verify [#63166](https://github.com/saltstack/salt/issues/63166)
|
||||
- Added match runner [#63278](https://github.com/saltstack/salt/issues/63278)
|
||||
- Added Vault token lifecycle management [#63406](https://github.com/saltstack/salt/issues/63406)
|
||||
- adding new call for openscap xccdf eval supporting new parameters [#63416](https://github.com/saltstack/salt/issues/63416)
|
||||
- Added Vault lease management utility [#63440](https://github.com/saltstack/salt/issues/63440)
|
||||
- implement removal of ptf packages in zypper pkg module [#63442](https://github.com/saltstack/salt/issues/63442)
|
||||
- add JUnit output for saltcheck [#63463](https://github.com/saltstack/salt/issues/63463)
|
||||
- Add ability for file.keyvalue to create a file if it doesn't exist [#63545](https://github.com/saltstack/salt/issues/63545)
|
||||
- added cleanup of temporary mountpoint dir for macpackage installed state [#63905](https://github.com/saltstack/salt/issues/63905)
|
||||
- Add pkg.installed show installable version in test mode [#63985](https://github.com/saltstack/salt/issues/63985)
|
||||
- Added patch option to Vault SDB driver [#64096](https://github.com/saltstack/salt/issues/64096)
|
||||
- Added flags to create local users and groups [#64256](https://github.com/saltstack/salt/issues/64256)
|
||||
- Added inline specification of trusted CA root certificate for Vault [#64379](https://github.com/saltstack/salt/issues/64379)
|
||||
- Add ability to return False result in test mode of configurable_test_state [#64418](https://github.com/saltstack/salt/issues/64418)
|
||||
- Switched Salt's onedir Python version to 3.11 [#64457](https://github.com/saltstack/salt/issues/64457)
|
||||
- Added support for dnf5 and its new command syntax [#64532](https://github.com/saltstack/salt/issues/64532)
|
||||
- Adding a new decorator to indicate when a module is deprecated in favor of a Salt extension. [#64569](https://github.com/saltstack/salt/issues/64569)
|
||||
- Add jq-esque to_entries and from_entries functions [#64600](https://github.com/saltstack/salt/issues/64600)
|
||||
- Added ability to use PYTHONWARNINGS=ignore to silence deprecation warnings. [#64660](https://github.com/saltstack/salt/issues/64660)
|
||||
- Add follow_symlinks to file.symlink exec module to switch to os.path.lexists when False [#64665](https://github.com/saltstack/salt/issues/64665)
|
||||
- Strenghten Salt's HA capabilities with master clustering. [#64939](https://github.com/saltstack/salt/issues/64939)
|
||||
- Added win_appx state and execution modules for managing Microsoft Store apps and deprovisioning them from systems [#64978](https://github.com/saltstack/salt/issues/64978)
|
||||
- Add support for show_jid to salt-run
|
||||
|
||||
Adds support for show_jid master config option to salt-run, so its behaviour matches the salt cli command. [#65008](https://github.com/saltstack/salt/issues/65008)
|
||||
- Add ability to remove packages by wildcard via apt execution module [#65220](https://github.com/saltstack/salt/issues/65220)
|
||||
- Added support for master top modules on masterless minions [#65479](https://github.com/saltstack/salt/issues/65479)
|
||||
- Allowed accessing the regular mine from the SSH wrapper [#65645](https://github.com/saltstack/salt/issues/65645)
|
||||
- Allow enabling backup for Linode in Salt Cloud [#65697](https://github.com/saltstack/salt/issues/65697)
|
||||
- Add a backup schedule setter fFunction for Linode VMs [#65713](https://github.com/saltstack/salt/issues/65713)
|
||||
- Add acme support for manual plugin hooks [#65744](https://github.com/saltstack/salt/issues/65744)
|
||||
|
||||
|
||||
### Security
|
||||
|
||||
- Upgrade to `tornado>=6.3.3` due to https://github.com/advisories/GHSA-qppv-j76h-2rpx [#64989](https://github.com/saltstack/salt/issues/64989)
|
||||
- Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c [#65137](https://github.com/saltstack/salt/issues/65137)
|
||||
|
||||
|
||||
## 3007.0rc1 (2024-01-02)
|
||||
|
||||
|
||||
### Removed
|
||||
|
||||
- Removed RHEL 5 support since long since end-of-lifed [#62520](https://github.com/saltstack/salt/issues/62520)
|
||||
- Removing Azure-Cloud modules from the code base. [#64322](https://github.com/saltstack/salt/issues/64322)
|
||||
- Dropped Python 3.7 support since it's EOL in 27 Jun 2023 [#64417](https://github.com/saltstack/salt/issues/64417)
|
||||
- Remove salt.payload.Serial [#64459](https://github.com/saltstack/salt/issues/64459)
|
||||
- Remove netmiko_conn and pyeapi_conn from salt.modules.napalm_mod [#64460](https://github.com/saltstack/salt/issues/64460)
|
||||
- Removed 'transport' arg from salt.utils.event.get_event [#64461](https://github.com/saltstack/salt/issues/64461)
|
||||
- Removed the usage of retired Linode API v3 from Salt Cloud [#64517](https://github.com/saltstack/salt/issues/64517)
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
||||
- Deprecate all Proxmox cloud modules [#64224](https://github.com/saltstack/salt/issues/64224)
|
||||
- Deprecate all the Vault modules in favor of the Vault Salt Extension https://github.com/salt-extensions/saltext-vault. The Vault modules will be removed in Salt core in 3009.0. [#64893](https://github.com/saltstack/salt/issues/64893)
|
||||
- Deprecate all the Docker modules in favor of the Docker Salt Extension https://github.com/saltstack/saltext-docker. The Docker modules will be removed in Salt core in 3009.0. [#64894](https://github.com/saltstack/salt/issues/64894)
|
||||
- Deprecate all the Zabbix modules in favor of the Zabbix Salt Extension https://github.com/salt-extensions/saltext-zabbix. The Zabbix modules will be removed in Salt core in 3009.0. [#64896](https://github.com/saltstack/salt/issues/64896)
|
||||
- Deprecate all the Apache modules in favor of the Apache Salt Extension https://github.com/salt-extensions/saltext-apache. The Apache modules will be removed in Salt core in 3009.0. [#64909](https://github.com/saltstack/salt/issues/64909)
|
||||
- Deprecation warning for Salt's backport of ``OrderedDict`` class which will be removed in 3009 [#65542](https://github.com/saltstack/salt/issues/65542)
|
||||
- Deprecate Kubernetes modules for move to saltext-kubernetes in version 3009 [#65565](https://github.com/saltstack/salt/issues/65565)
|
||||
- Deprecated all Pushover modules in favor of the Salt Extension at https://github.com/salt-extensions/saltext-pushover. The Pushover modules will be removed from Salt core in 3009.0 [#65567](https://github.com/saltstack/salt/issues/65567)
|
||||
|
||||
|
||||
### Changed
|
||||
|
||||
- Masquerade property will not default to false turning off masquerade if not specified. [#53120](https://github.com/saltstack/salt/issues/53120)
|
||||
- Addressed Python 3.11 deprecations:
|
||||
|
||||
* Switch to `FullArgSpec` since Py 3.11 no longer has `ArgSpec`, deprecated since Py 3.0
|
||||
* Stopped using the deprecated `cgi` module.
|
||||
* Stopped using the deprecated `pipes` module
|
||||
* Stopped using the deprecated `imp` module [#64457](https://github.com/saltstack/salt/issues/64457)
|
||||
- changed 'gpg_decrypt_must_succeed' default from False to True [#64462](https://github.com/saltstack/salt/issues/64462)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- When an NFS or FUSE mount fails to unmount when mount options have changed, try again with a lazy umount before mounting again. [#18907](https://github.com/saltstack/salt/issues/18907)
|
||||
- fix autoaccept gpg keys by supporting it in refresh_db module [#42039](https://github.com/saltstack/salt/issues/42039)
|
||||
- Made cmd.script work with files from the fileserver via salt-ssh [#48067](https://github.com/saltstack/salt/issues/48067)
|
||||
- Made slsutil.renderer work with salt-ssh [#50196](https://github.com/saltstack/salt/issues/50196)
|
||||
- Fixed defaults.merge is not available when using salt-ssh [#51605](https://github.com/saltstack/salt/issues/51605)
|
||||
- Fix extfs.mkfs missing parameter handling for -C, -d, and -e [#51858](https://github.com/saltstack/salt/issues/51858)
|
||||
- Fixed Salt master does not renew token [#51986](https://github.com/saltstack/salt/issues/51986)
|
||||
- Fixed salt-ssh continues state/pillar rendering with incorrect data when an exception is raised by a module on the target [#52452](https://github.com/saltstack/salt/issues/52452)
|
||||
- Fix extfs.tune has 'reserved' documented twice and is missing the 'reserved_percentage' keyword argument [#54426](https://github.com/saltstack/salt/issues/54426)
|
||||
- Fix the ability of the 'selinux.port_policy_present' state to modify. [#55687](https://github.com/saltstack/salt/issues/55687)
|
||||
- Fixed config.get does not support merge option with salt-ssh [#56441](https://github.com/saltstack/salt/issues/56441)
|
||||
- Removed an unused assignment in file.patch [#57204](https://github.com/saltstack/salt/issues/57204)
|
||||
- Fixed vault module fetching more than one secret in one run with single-use tokens [#57561](https://github.com/saltstack/salt/issues/57561)
|
||||
- Use brew path from which in mac_brew_pkg module and rely on _homebrew_bin() everytime [#57946](https://github.com/saltstack/salt/issues/57946)
|
||||
- Fixed Vault verify option to work on minions when only specified in master config [#58174](https://github.com/saltstack/salt/issues/58174)
|
||||
- Fixed vault command errors configured locally [#58580](https://github.com/saltstack/salt/issues/58580)
|
||||
- Fixed issue with basic auth causing invalid header error and 401 Bad Request, by using HTTPBasicAuthHandler instead of header. [#58936](https://github.com/saltstack/salt/issues/58936)
|
||||
- Make the LXD module work with pyLXD > 2.10 [#59514](https://github.com/saltstack/salt/issues/59514)
|
||||
- Return error if patch file passed to state file.patch is malformed. [#59806](https://github.com/saltstack/salt/issues/59806)
|
||||
- Handle failure and error information from tuned module/state [#60500](https://github.com/saltstack/salt/issues/60500)
|
||||
- Fixed sdb.get_or_set_hash with Vault single-use tokens [#60779](https://github.com/saltstack/salt/issues/60779)
|
||||
- Fixed state.test does not work with salt-ssh [#61100](https://github.com/saltstack/salt/issues/61100)
|
||||
- Made slsutil.findup work with salt-ssh [#61143](https://github.com/saltstack/salt/issues/61143)
|
||||
- Allow all primitive grain types for autosign_grains [#61416](https://github.com/saltstack/salt/issues/61416), [#63708](https://github.com/saltstack/salt/issues/63708)
|
||||
- `ipset.new_set` no longer fails when creating a set type that uses the `family` create option [#61620](https://github.com/saltstack/salt/issues/61620)
|
||||
- Fixed Vault session storage to allow unlimited use tokens [#62380](https://github.com/saltstack/salt/issues/62380)
|
||||
- fix the efi grain on FreeBSD [#63052](https://github.com/saltstack/salt/issues/63052)
|
||||
- Fixed gpg.receive_keys returns success on failed import [#63144](https://github.com/saltstack/salt/issues/63144)
|
||||
- Fixed GPG state module always reports success without changes [#63153](https://github.com/saltstack/salt/issues/63153)
|
||||
- Fixed GPG state module does not respect test mode [#63156](https://github.com/saltstack/salt/issues/63156)
|
||||
- Fixed gpg.absent with gnupghome/user, fixed gpg.delete_key with gnupghome [#63159](https://github.com/saltstack/salt/issues/63159)
|
||||
- Fixed service module does not handle enable/disable if systemd service is an alias [#63214](https://github.com/saltstack/salt/issues/63214)
|
||||
- Made x509_v2 compound match detection use new runner instead of peer publishing [#63278](https://github.com/saltstack/salt/issues/63278)
|
||||
- Need to make sure we update __pillar__ during a pillar refresh to ensure that process_beacons has the updated beacons loaded from pillar. [#63583](https://github.com/saltstack/salt/issues/63583)
|
||||
- This implements the vpc_uuid parameter when creating a droplet. This parameter selects the correct virtual private cloud (private network interface). [#63714](https://github.com/saltstack/salt/issues/63714)
|
||||
- pkg.installed no longer reports failure when installing packages that are installed via the task manager [#63767](https://github.com/saltstack/salt/issues/63767)
|
||||
- mac_xattr.list and mac_xattr.read will replace undecode-able bytes to avoid raising CommandExecutionError. [#63779](https://github.com/saltstack/salt/issues/63779) [#63779](https://github.com/saltstack/salt/issues/63779)
|
||||
- Fix aptpkg.latest_version performance, reducing number of times to 'shell out' [#63982](https://github.com/saltstack/salt/issues/63982)
|
||||
- Added option to use a fresh connection for mysql cache [#63991](https://github.com/saltstack/salt/issues/63991)
|
||||
- [lxd] Fixed a bug in `container_create` which prevented devices which are not of type `disk` to be correctly created and added to the container when passed via the `devices` parameter. [#63996](https://github.com/saltstack/salt/issues/63996)
|
||||
- Skipped the `isfile` check to greatly increase speed of reading minion keys for systems with a large number of minions on slow file storage [#64260](https://github.com/saltstack/salt/issues/64260)
|
||||
- Fix utf8 handling in 'pass' renderer [#64300](https://github.com/saltstack/salt/issues/64300)
|
||||
- Upgade tornado to 6.3.2 [#64305](https://github.com/saltstack/salt/issues/64305)
|
||||
- Prevent errors due missing 'transactional_update.apply' on SLE Micro and MicroOS. [#64369](https://github.com/saltstack/salt/issues/64369)
|
||||
- Fix 'unable to unmount' failure to return False result instead of None [#64420](https://github.com/saltstack/salt/issues/64420)
|
||||
- Fixed issue uninstalling duplicate packages in ``win_appx`` execution module [#64450](https://github.com/saltstack/salt/issues/64450)
|
||||
- Clean up tech debt, IPC now uses tcp transport. [#64488](https://github.com/saltstack/salt/issues/64488)
|
||||
- Made salt-ssh more strict when handling unexpected situations and state.* wrappers treat a remote exception as failure, excluded salt-ssh error returns from mine [#64531](https://github.com/saltstack/salt/issues/64531)
|
||||
- Fix flaky test for LazyLoader with isolated mocking of threading.RLock [#64567](https://github.com/saltstack/salt/issues/64567)
|
||||
- Fix possible `KeyError` exceptions in `salt.utils.user.get_group_dict`
|
||||
while reading improper duplicated GID assigned for the user. [#64599](https://github.com/saltstack/salt/issues/64599)
|
||||
- changed vm_config() to deep-merge vm_overrides of specific VM, instead of simple-merging the whole vm_overrides [#64610](https://github.com/saltstack/salt/issues/64610)
|
||||
- Fix the way Salt tries to get the Homebrew's prefix
|
||||
|
||||
The first attempt to get the Homebrew's prefix is to look for
|
||||
the `HOMEBREW_PREFIX` environment variable. If it's not set, then
|
||||
Salt tries to get the prefix from the `brew` command. However, the
|
||||
`brew` command can fail. So a last attempt is made to get the
|
||||
prefix by guessing the installation path. [#64924](https://github.com/saltstack/salt/issues/64924)
|
||||
- Add missing MySQL Grant SERVICE_CONNECTION_ADMIN to mysql module. [#64934](https://github.com/saltstack/salt/issues/64934)
|
||||
- Fixed slsutil.update with salt-ssh during template rendering [#65067](https://github.com/saltstack/salt/issues/65067)
|
||||
- Keep track when an included file only includes sls files but is a requisite. [#65080](https://github.com/saltstack/salt/issues/65080)
|
||||
- Fixed `gpg.present` succeeds when the keyserver is unreachable [#65169](https://github.com/saltstack/salt/issues/65169)
|
||||
- Fix issue with openscap when the error was outside the expected scope. It now
|
||||
returns failed with the error code and the error [#65193](https://github.com/saltstack/salt/issues/65193)
|
||||
- Fix typo in nftables module to ensure unique nft family values [#65295](https://github.com/saltstack/salt/issues/65295)
|
||||
- Dereference symlinks to set proper __cli opt [#65435](https://github.com/saltstack/salt/issues/65435)
|
||||
- Made salt-ssh merge master top returns for the same environment [#65480](https://github.com/saltstack/salt/issues/65480)
|
||||
- Account for situation where the metadata grain fails because the AWS environment requires an authentication token to query the metadata URL. [#65513](https://github.com/saltstack/salt/issues/65513)
|
||||
- Improve the condition of overriding target for pip with VENV_PIP_TARGET environment variable. [#65562](https://github.com/saltstack/salt/issues/65562)
|
||||
- Added SSH wrapper for logmod [#65630](https://github.com/saltstack/salt/issues/65630)
|
||||
- Include changes in the results when schedule.present state is run with test=True. [#65652](https://github.com/saltstack/salt/issues/65652)
|
||||
- Fixed Salt-SSH pillar rendering and state rendering with nested SSH calls when called via saltutil.cmd or in an orchestration [#65670](https://github.com/saltstack/salt/issues/65670)
|
||||
- Fix extfs.tune doesn't pass retcode to module.run [#65686](https://github.com/saltstack/salt/issues/65686)
|
||||
- Fix boto execution module loading [#65691](https://github.com/saltstack/salt/issues/65691)
|
||||
- Removed PR 65185 changes since incomplete solution [#65692](https://github.com/saltstack/salt/issues/65692)
|
||||
- Return an error message when the DNS plugin is not supported [#65739](https://github.com/saltstack/salt/issues/65739)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
- Allowed publishing to regular minions from the SSH wrapper [#40943](https://github.com/saltstack/salt/issues/40943)
|
||||
- Added syncing of custom salt-ssh wrappers [#45450](https://github.com/saltstack/salt/issues/45450)
|
||||
- Made salt-ssh sync custom utils [#53666](https://github.com/saltstack/salt/issues/53666)
|
||||
- Add ability to use file.managed style check_cmd in file.serialize [#53982](https://github.com/saltstack/salt/issues/53982)
|
||||
- Revised use of deprecated net-tools and added support for ip neighbour with IPv4 ip_neighs, IPv6 ip_neighs6 [#57541](https://github.com/saltstack/salt/issues/57541)
|
||||
- Added password support to Redis returner. [#58044](https://github.com/saltstack/salt/issues/58044)
|
||||
- Added keyring param to gpg modules [#59783](https://github.com/saltstack/salt/issues/59783)
|
||||
- Added new grain to detect the Salt package type: onedir, pip or system [#62589](https://github.com/saltstack/salt/issues/62589)
|
||||
- Added Vault AppRole and identity issuance to minions [#62823](https://github.com/saltstack/salt/issues/62823)
|
||||
- Added Vault AppRole auth mount path configuration option [#62825](https://github.com/saltstack/salt/issues/62825)
|
||||
- Added distribution of Vault authentication details via response wrapping [#62828](https://github.com/saltstack/salt/issues/62828)
|
||||
- Add salt package type information. Either onedir, pip or system. [#62961](https://github.com/saltstack/salt/issues/62961)
|
||||
- Added signature verification to file.managed/archive.extracted [#63143](https://github.com/saltstack/salt/issues/63143)
|
||||
- Added signed_by_any/signed_by_all parameters to gpg.verify [#63166](https://github.com/saltstack/salt/issues/63166)
|
||||
- Added match runner [#63278](https://github.com/saltstack/salt/issues/63278)
|
||||
- Added Vault token lifecycle management [#63406](https://github.com/saltstack/salt/issues/63406)
|
||||
- adding new call for openscap xccdf eval supporting new parameters [#63416](https://github.com/saltstack/salt/issues/63416)
|
||||
- Added Vault lease management utility [#63440](https://github.com/saltstack/salt/issues/63440)
|
||||
- implement removal of ptf packages in zypper pkg module [#63442](https://github.com/saltstack/salt/issues/63442)
|
||||
- add JUnit output for saltcheck [#63463](https://github.com/saltstack/salt/issues/63463)
|
||||
- Add ability for file.keyvalue to create a file if it doesn't exist [#63545](https://github.com/saltstack/salt/issues/63545)
|
||||
- added cleanup of temporary mountpoint dir for macpackage installed state [#63905](https://github.com/saltstack/salt/issues/63905)
|
||||
- Add pkg.installed show installable version in test mode [#63985](https://github.com/saltstack/salt/issues/63985)
|
||||
- Added patch option to Vault SDB driver [#64096](https://github.com/saltstack/salt/issues/64096)
|
||||
- Added flags to create local users and groups [#64256](https://github.com/saltstack/salt/issues/64256)
|
||||
- Added inline specification of trusted CA root certificate for Vault [#64379](https://github.com/saltstack/salt/issues/64379)
|
||||
- Add ability to return False result in test mode of configurable_test_state [#64418](https://github.com/saltstack/salt/issues/64418)
|
||||
- Switched Salt's onedir Python version to 3.11 [#64457](https://github.com/saltstack/salt/issues/64457)
|
||||
- Added support for dnf5 and its new command syntax [#64532](https://github.com/saltstack/salt/issues/64532)
|
||||
- Adding a new decorator to indicate when a module is deprecated in favor of a Salt extension. [#64569](https://github.com/saltstack/salt/issues/64569)
|
||||
- Add jq-esque to_entries and from_entries functions [#64600](https://github.com/saltstack/salt/issues/64600)
|
||||
- Added ability to use PYTHONWARNINGS=ignore to silence deprecation warnings. [#64660](https://github.com/saltstack/salt/issues/64660)
|
||||
- Add follow_symlinks to file.symlink exec module to switch to os.path.lexists when False [#64665](https://github.com/saltstack/salt/issues/64665)
|
||||
- Added win_appx state and execution modules for managing Microsoft Store apps and deprovisioning them from systems [#64978](https://github.com/saltstack/salt/issues/64978)
|
||||
- Add support for show_jid to salt-run
|
||||
|
||||
Adds support for show_jid master config option to salt-run, so its behaviour matches the salt cli command. [#65008](https://github.com/saltstack/salt/issues/65008)
|
||||
- Add ability to remove packages by wildcard via apt execution module [#65220](https://github.com/saltstack/salt/issues/65220)
|
||||
- Added support for master top modules on masterless minions [#65479](https://github.com/saltstack/salt/issues/65479)
|
||||
- Allowed accessing the regular mine from the SSH wrapper [#65645](https://github.com/saltstack/salt/issues/65645)
|
||||
- Allow enabling backup for Linode in Salt Cloud [#65697](https://github.com/saltstack/salt/issues/65697)
|
||||
- Add a backup schedule setter fFunction for Linode VMs [#65713](https://github.com/saltstack/salt/issues/65713)
|
||||
- Add acme support for manual plugin hooks [#65744](https://github.com/saltstack/salt/issues/65744)
|
||||
|
||||
|
||||
### Security
|
||||
|
||||
- Upgrade to `tornado>=6.3.3` due to https://github.com/advisories/GHSA-qppv-j76h-2rpx [#64989](https://github.com/saltstack/salt/issues/64989)
|
||||
- Update to `gitpython>=3.1.35` due to https://github.com/advisories/GHSA-wfm5-v35h-vwf4 and https://github.com/advisories/GHSA-cwvm-v4w8-q58c [#65137](https://github.com/saltstack/salt/issues/65137)
|
||||
|
||||
|
||||
## 3006.7 (2024-02-20)
|
||||
|
||||
|
||||
|
|
|
@ -588,12 +588,12 @@ But that advice is backwards for the changelog. We follow the
|
|||
`keepachangelog <https://keepachangelog.com/en/1.0.0/>`__ approach for
|
||||
our changelog, and use towncrier to generate it for each release. As a
|
||||
contributor, all that means is that you need to add a file to the
|
||||
``salt/changelog`` directory, using the ``<issue #>.<type>.md`` format. For
|
||||
``salt/changelog`` directory, using the ``<issue #>.<type>`` format. For
|
||||
instance, if you fixed issue 123, you would do:
|
||||
|
||||
::
|
||||
|
||||
echo "Made sys.doc inform when no minions return" > changelog/123.fixed.md
|
||||
echo "Made sys.doc inform when no minions return" > changelog/123.fixed
|
||||
|
||||
And that's all that would go into your file. When it comes to your
|
||||
commit message, it's usually a good idea to add other information, such as
|
||||
|
|
335
DEPENDENCIES.md
335
DEPENDENCIES.md
|
@ -1,125 +1,210 @@
|
|||
| **OSS Software Name** | **Version** | **Primary License** | **Source Code Download URL** | **Author** | **Copyright Year** |
|
||||
| ------------------------- | :---------- | --------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------ | -----------------: |
|
||||
| | | | | | |
|
||||
| Cheetah3 | 3.1.0 | MIT/X11 | https://pypi.org/project/Cheetah3/ | Travis Rudd | 2017-2019 |
|
||||
| CherryPy | 17.3.0 | BSD | https://pypi.org/project/CherryPy/ | CherryPy Team | 2004-2019 |
|
||||
| Genshi | 0.7.3 | BSD | https://pypi.org/project/Genshi/ | Edgewall Software | 2006-2010 |
|
||||
| GitPython | 3.1.3 | BSD | https://pypi.org/project/GitPython/ | Sebastian Thiel, Michael Trier | 2008, 2009 |
|
||||
| Jinja2 | 2.11.2 | BSD | https://pypi.org/project/Jinja2 | Armin Ronacher | 2007 |
|
||||
| Mako | 1.1.3 | MIT/X11 | https://pypi.org/project/Mako/ | Mike Bayer | 2006-2020 |
|
||||
| MarkupSafe | 1.1.1 | BSD | https://pypi.org/project/MarkupSafe/ | Armin Ronacher | 2010 |
|
||||
| PyJWT | 1.7.1 | MIT/X11 | https://pypi.org/project/PyJWT/ | Jose Padilla | 2015 |
|
||||
| PyNaCl | 1.4.0 | Apache License, V2.0 | https://pypi.org/project/PyNaCl/ | The PyNaCl developers | 2004 |
|
||||
| PyYAML | 5.3.1 | MIT/X11 | https://pypi.org/project/PyYAML/ | Kirill Simonov | 2006-2019 |
|
||||
| WerkZeug | 1.0.1 | BSD | https://pypi.org/project/Werkzeug/ | Armin Ronacher | 2007 |
|
||||
| apache-libcloud | 2.0.0 | Apache License, V2.0 | https://pypi.org/project/apache-libcloud/ | Apache Software Foundation | 2004 |
|
||||
| appdirs | 1.4.4 | MIT/X11 | https://pypi.org/project/appdirs/ | Trent Mick | 2010 |
|
||||
| asn1crypto | 1.3.0 | MIT/X11 | https://pypi.org/project/asn1crypto/ | wbond | 2015-2019 |
|
||||
| attrs | 19.3.1 | MIT/X11 | https://pypi.org/project/attrs/ | Hynek Schlawack | 2015 |
|
||||
| aws-sam-translator | 1.25.0 | Apache License, V2.0 | https://pypi.org/project/aws-sam-translator/ | Amazon Web Services | 2004 |
|
||||
| aws-xray-sdk | 2.6.0 | Apache License, V2.0 | https://pypi.org/project/aws-xray-sdk/ | Amazon Web Services | 2004 |
|
||||
| bcrypt | 3.1.7 | Apache License, V2.0 | https://pypi.org/project/bcrypt/ | The Python Cryptographic Authority | 2013 |
|
||||
| boto | 2.49.0 | MIT/X11 | https://pypi.org/project/boto/ | Mitch Garnaatt | 2013 |
|
||||
| boto3 | 1.14.16 | Apache License, V2.0 | https://pypi.org/project/boto3/ | AWS | 2019 |
|
||||
| botocore | 1.17.16 | Apache License, V2.0 | https://pypi.org/project/botocore/ | AWS | 2019 |
|
||||
| cachetools | 4.1.1 | MIT/X11 | https://pypi.org/project/cachetools/ | tkem | 2014-2020 |
|
||||
| cassandra-driver | 3.24.0 | Apache License, V2.0 | https://pypi.org/project/cassandra-driver/ | DataStax | 2013 |
|
||||
| certifi | 2020.6.20 | Mozilla Public License, V2.0 | https://pypi.org/project/certifi/ | Kenneth Reitz | 2013 |
|
||||
| certvalidator | 0.11.1 | MIT/X11 | https://pypi.org/project/certvalidator/ | wbond | 2015-2018 |
|
||||
| cffi | 1.14.0 | MIT/X11 | https://pypi.org/project/cffi/ | Armin Rigo, Maciej Fijalkowski | 2005-2007 |
|
||||
| cfn-lint | 0.33.2 | MIT/X11 | https://pypi.org/project/cfn-lint/ | kddejong | 2018 |
|
||||
| chardet | 3.0.4 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/chardet/ | Daniel Blanchard | 2012 |
|
||||
| cheroot | 8.3.0 | BSD | https://pypi.org/project/cheroot/ | CherryPy Team | 2004-2020 |
|
||||
| click | 7.1.2 | BSD | https://pypi.org/project/click/ | Pallets | 2014 |
|
||||
| contextlib2 | 0.6.0.post1 | Python License | https://pypi.org/project/contextlib2/ | Nick Coghlan | 2015 |
|
||||
| croniter | 0.3.34 | MIT/X11 | https://pypi.org/project/croniter/ | Matsumoto Taichi, kiorky | 2014 |
|
||||
| cryptography | 2.9.2 | BSD | https://pypi.org/project/cryptography/ | The cryptography developers | 2014 |
|
||||
| decorator | 4.4.2 | BSD | https://pypi.org/project/decorator/ | Michele Simionato | 2005-2018 |
|
||||
| distlib | 0.3.1 | Python License | https://pypi.org/project/distlib/ | Vinay Sajip | 2012 |
|
||||
| dnspython | 1.16.0 | BSD | https://pypi.org/project/dnspython/ | Bob Halley | 2001-2017 |
|
||||
| docker | 4.2.2 | Apache License, V2.0 | https://pypi.org/project/docker/ | Joffery F | 2016 |
|
||||
| docutils | 0.15.2 | BSD | https://pypi.org/project/docutils/ | David Goodger | 2011 |
|
||||
| ecdsa | 0.15 | MIT/X11 | https://pypi.org/project/ecdsa/ | Brian Warner | 2010 |
|
||||
| filelock | 3.0.12 | Public Domain | https://pypi.org/project/filelock/ | Benedikt Schmitt | 2018 |
|
||||
| future | 0.18.2 | MIT/X11 | https://pypi.org/project/future/ | Ed Schofield | 2013-2019 |
|
||||
| geomet | 0.2.1.post1 | Apache License, V2.0 | https://pypi.org/project/geomet/ | Lars Butler | 2014 |
|
||||
| gitdb | 4.0.5 | BSD | https://pypi.org/project/gitdb/ | Sebastian Thiel | 2010, 2011 |
|
||||
| google-auth | 1.18.0 | Apache License, V2.0 | https://pypi.org/project/google-auth/ | Google Cloud Platform | 2016 |
|
||||
| hgtools | 8.2.0 | MIT/X11 | https://pypi.org/project/hgtools/ | Jason R. Coombs | 2019 |
|
||||
| idna | 2.8 | BSD | https://pypi.org/project/idna/ | Kim Davies | 2013-2020 |
|
||||
| importlib-metadata | 1.7.0 | Apache License, V2.0 | https://pypi.org/project/importlib-metadata/ | Barry Warsaw | 2017-2019 |
|
||||
| ipaddress | 1.0.23 | Python License | https://pypi.org/project/ipaddress/ | Philipp Hagemeister | 2014 |
|
||||
| isodate | 0.6.0 | BSD | https://pypi.org/project/isodate/ | Gerhard Weis | 2009 |
|
||||
| jaraco.functools | 3.0.1 | MIT/X11 | https://pypi.org/project/jaraco.functools/ | Jason R. Coombs | 2020 |
|
||||
| jmespath | 0.10.0 | MIT/X11 | https://pypi.org/project/jmespath/ | James Saryerwinnie | 2013 |
|
||||
| jsondiff | 1.1.2 | MIT/X11 | https://pypi.org/project/jsondiff/ | Zoomer Analytics LLC | 2015 |
|
||||
| jsonpatch | 1.26 | BSD | https://pypi.org/project/jsonpatch/ | Stefan Kögl | 2011 |
|
||||
| jsonpickle | 1.4.1 | BSD | https://pypi.org/project/jsonpickle/ | David Aguilar | 2009-2018 |
|
||||
| jsonpointer | 2 | BSD | https://pypi.org/project/jsonpointer/ | Stefan Kögl | 2017 |
|
||||
| jsonschema | 3.2.0 | MIT/X11 | https://pypi.org/project/jsonschema/ | Julian Berman | 2013 |
|
||||
| junit-xml | 1.9 | MIT/X11 | https://pypi.org/project/junit-xml/ | Brian Beyer | 2013 |
|
||||
| junos-eznc | 2.4.0 | Apache License, V2.0 | https://pypi.org/project/junos-eznc/ | Jeremy Schulman, Nitin Kumar, Rick Sherman, Stacy Smith | 2018 |
|
||||
| jxmlease | 1.0.3 | MIT/X11 | https://pypi.org/project/jxmlease/ | Juniper Networks | 2015-2016 |
|
||||
| kazoo | 2.7.0 | Apache License, V2.0 | https://pypi.org/project/kazoo/ | Kazoo team | 2012 |
|
||||
| keyring | 5.7.1 | MIT/X11 | https://pypi.org/project/keyring/ | Kang Zhang | 2019 |
|
||||
| kubernetes | 3.0.0 | Apache License, V2.0 | https://pypi.org/project/kubernetes/ | Kubernetes | 2016 |
|
||||
| libnacl | 1.7.1 | Apache License, V2.0 | https://pypi.org/project/libnacl/ | Thomas S Hatch | 2014 |
|
||||
| lxml | 4.5.1 | BSD | https://pypi.org/project/lxml/ | lxml dev team | 2019 |
|
||||
| mock | 4.0.2 | BSD | https://pypi.org/project/mock/ | Testing Cabal | 2003-2013 |
|
||||
| more-itertools | 5.0.0 | MIT/X11 | https://pypi.org/project/more-itertools/ | Eric Rose | 2012 |
|
||||
| moto | 1.3.14 | Apache License, V2.0 | https://pypi.org/project/moto/ | Steve Pulec | 2004 |
|
||||
| natsort | 7.0.1 | MIT/X11 | https://pypi.org/project/natsort/ | Seth M. Morton | 2012-2020 |
|
||||
| ncclient | 0.6.7 | Apache License, V2.0 | https://pypi.org/project/ncclient/ | Shikhar Bhushan, Leonidas Poulopoulos, Ebben Aries, Einar Nilsen-Nygaard | 2004 |
|
||||
| netaddr | 0.8.0 | BSD | https://pypi.org/project/netaddr/ | Author: David P. D. Moss, Stefan Nordhausen et al | 2008 |
|
||||
| networkx | 2.4 | BSD | https://pypi.org/project/networkx/ | Aric Hagberg | 2004-2020 |
|
||||
| ntc-templates | 1.5.0 | Apache License, V2.0 | https://pypi.org/project/ntc-templates/ | Jason Edelman | 2015 |
|
||||
| oauthlib | 3.1.0 | BSD | https://pypi.org/project/oauthlib/ | The OAuthlib Community | 2019 |
|
||||
| oscrypto | 1.2.0 | MIT/X11 | https://pypi.org/project/oscrypto/ | wbond | 2015-2019 |
|
||||
| paramiko | 2.7.1 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/paramiko/ | Jeff Forcier | 1999 |
|
||||
| passlib | 1.7.2 | BSD | https://pypi.org/project/passlib/ | Eli Collins | 2004 |
|
||||
| pathtools | 0.1.2 | MIT/X11 | https://pypi.org/project/pathtools/ | Yesudeep Mangalapilly | 2010 |
|
||||
| portend | 2.6 | MIT/X11 | https://pypi.org/project/portend/ | Jason R Coombs | 2018 |
|
||||
| psutil | 5.7.0 | BSD | https://pypi.org/project/psutil/ | Giampaolo Rodola | 2009 |
|
||||
| pyOpenSSL | 19.1.0 | Apache License, V2.0 | https://pypi.org/project/pyOpenSSL/ | The pyopenssl Developers | 2004 |
|
||||
| pyasn1 | 0.4.8 | BSD | https://pypi.org/project/pyasn1/ | Ilya Etingof | 2005-2020 |
|
||||
| pyasn1-modules | 0.2.8 | BSD | https://pypi.org/project/pyasn1-modules/ | Ilya Etingof | 2005-2020 |
|
||||
| pycparser | 2.20 | BSD | https://pypi.org/project/pycparser/ | Eli Bendersky | 2008-2017 |
|
||||
| pygit2 | 1.2.1 | GNU General Public License, V2.0 | https://pypi.org/project/pygit2/ | J. David Ibáñez | 2012 |
|
||||
| pyinotify | 0.9.6 | MIT/X11 | https://pypi.org/project/pyinotify/ | Sebastien Martini | 2010 |
|
||||
| pyparsing | 2.4.7 | MIT/X11 | https://pypi.org/project/pyparsing/ | Paul McGuire | 2018 |
|
||||
| pyrsistent | 0.16.0 | MIT/X11 | https://pypi.org/project/pyrsistent/ | Tobias Gustafsson | 2019 |
|
||||
| pyserial | 3.4 | BSD | https://pypi.org/project/pyserial/ | Chris Liechti | 2001-2016 |
|
||||
| python-dateutil | 2.8.1 | Apache License, V2.0 | https://pypi.org/project/python-dateutil/ | Gustavo Niemeyer | 2017 |
|
||||
| python-etcd | 0.4.5 | MIT/X11 | https://pypi.org/project/python-etcd/ | Jose Plana | 2015 |
|
||||
| python-gnupg | 0.4.6 | BSD | https://pypi.org/project/python-gnupg/ | Vinay Sajip | 2008-2019 |
|
||||
| python-jose[cryptography] | 3.2.0 | MIT/X11 | https://pypi.org/project/python-jose/ | Michael Davis | 2015 |
|
||||
| pytz | 2020.1 | MIT/X11 | https://pypi.org/project/pytz/ | Stuart Bishop | 2015 |
|
||||
| pyvmomi | 7 | Apache License, V2.0 | https://pypi.org/project/pyvmomi/ | VMware, Inc. | 2004 |
|
||||
| requests | 2.24.0 | Apache License, V2.0 | https://pypi.org/project/requests/ | Kenneth Reitz | 2004 |
|
||||
| requests-oauthlib | 1.3.0 | BSD | https://pypi.org/project/requests-oauthlib/ | Kenneth Reitz | 2014 |
|
||||
| responses | 0.10.15 | Apache License, V2.0 | https://pypi.org/project/responses/ | David Cramer | 2004 |
|
||||
| rfc3987 | 1.3.8 | GNU General Public License, V3.0 | https://pypi.org/project/rfc3987/ | Daniel Gerber | 2007 |
|
||||
| rsa | 4.6 | Apache License, V2.0 | https://pypi.org/project/rsa/ | Sybren A. Stuvel | 2011 |
|
||||
| s3transfer | 0.3.3 | Apache License, V2.0 | https://pypi.org/project/s3transfer/ | Amazon Web Services | 2004 |
|
||||
| scp | 0.13.2 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/scp/ | James Bardin | 2013 |
|
||||
| setproctitle | 1.1.10 | BSD | https://pypi.org/project/setproctitle/ | Daniele Varrazzo | 2009-2020 |
|
||||
| setuptools-scm | 4.1.2 | MIT/X11 | https://pypi.org/project/setuptools-scm/ | Ronny Pfannschmidt | 2010 |
|
||||
| six | 1.15.0 | MIT/X11 | https://pypi.org/project/six/ | Benjamin Peterson | 2010-2020 |
|
||||
| smmap | 3.0.4 | BSD | https://pypi.org/project/smmap/ | Sebastian Thiel | 2010, 2011 |
|
||||
| sshpubkeys | 3.1.0 | BSD | https://pypi.org/project/sshpubkeys/ | Olli Jarva | 2014 |
|
||||
| strict-rfc3339 | 0.7 | GNU General Public License, V3.0 | https://pypi.org/project/strict-rfc3339/ | Daniel Richman, Adam Greig | 2007 |
|
||||
| tempora | 3.0.0 | MIT/X11 | https://pypi.org/project/tempora/ | Jason R. Coombs | 2020 |
|
||||
| textfsm | 1.1.0 | Apache License, V2.0 | https://pypi.org/project/textfsm/ | Google | 2004 |
|
||||
| timelib | 0.2.4 | BSD | https://pypi.org/project/timelib/ | Ralf Schmitt | 2009-2011 |
|
||||
| toml | 0.10.1 | MIT/X11 | https://pypi.org/project/toml/ | William Pearson | 2013-2019 |
|
||||
| transitions | 0.8.2 | MIT/X11 | https://pypi.org/project/transitions/ | Tal Yarkoni | 2014 - 2020 |
|
||||
| urllib3 | 1.25.9 | MIT/X11 | https://pypi.org/project/urllib3/ | Andrey Petrov | 2008-2020 |
|
||||
| vcert | 0.7.4 | ASL | https://pypi.org/project/vcert | Denis Subbotin | 2018 |
|
||||
| virtualenv | 20.0.25 | MIT | https://pypi.org/project/virtualenv | Bernat Gabor | 2020-202x |
|
||||
| watchdog | 0.10.3 | Apache License 2.0 | https://pypi.org/project/watchdog | Yesudeep Mangalapilly | 2012 |
|
||||
| websocket-client | 0.57.0 | BSD | https://pypi.org/project/websocket-client | liris | 2018 |
|
||||
| wrapt | 1.12.1 | BSD | https://pypi.org/project/wrapt | Graham Dumpleton | 2013-2019 |
|
||||
| xmltodict | 0.12.0 | MIT | https://pypi.org/project/xmltodict | Martin Blech | 2010 |
|
||||
| yamlordereddictloader | 0.4.0 | MIT License | https://pypi.org/project/yamlordereddictloader | François Ménabé | 2017 |
|
||||
| zc.lockfile | 2 | ZPL 2.1 | https://pypi.org/project/zc.lockfile | Zope Foundation | 2010 |
|
||||
| zipp | 3.1.0 | MIT | https://pypi.org/project/zipp | Jason R. Coombs | 2019 |
|
||||
| **OSS Software Name** | **Version** | **Primary License** | **Source Code Download URL** | **Author** | **Copyright Year** |
|
||||
| --- | :--- | --- | --- | --- | ---: |
|
||||
| | | | | | |
|
||||
| Cheetah3 | 3.1.0 | MIT/X11 | https://pypi.org/project/Cheetah3/ | Travis Rudd | 2017-2019 |
|
||||
| CherryPy | 17.3.0 | BSD | https://pypi.org/project/CherryPy/ | CherryPy Team | 2004-2019 |
|
||||
| Genshi | 0.7.3 | BSD | https://pypi.org/project/Genshi/ | Edgewall Software | 2006-2010 |
|
||||
| GitPython | 3.1.3 | BSD | https://pypi.org/project/GitPython/ | Sebastian Thiel, Michael Trier | 2008, 2009 |
|
||||
| Jinja2 | 2.11.2 | BSD | https://pypi.org/project/Jinja2 | Armin Ronacher | 2007 |
|
||||
| Mako | 1.1.3 | MIT/X11 | https://pypi.org/project/Mako/ | Mike Bayer | 2006-2020 |
|
||||
| MarkupSafe | 1.1.1 | BSD | https://pypi.org/project/MarkupSafe/ | Armin Ronacher | 2010 |
|
||||
| PyJWT | 1.7.1 | MIT/X11 | https://pypi.org/project/PyJWT/ | Jose Padilla | 2015 |
|
||||
| PyNaCl | 1.4.0 | Apache License, V2.0 | https://pypi.org/project/PyNaCl/ | The PyNaCl developers | 2004 |
|
||||
| PyYAML | 5.3.1 | MIT/X11 | https://pypi.org/project/PyYAML/ | Kirill Simonov | 2006-2019 |
|
||||
| WerkZeug | 1.0.1 | BSD | https://pypi.org/project/Werkzeug/ | Armin Ronacher | 2007 |
|
||||
| adal | 1.2.4 | MIT/X11 | https://pypi.org/project/adal | Microsoft Corporation | 2015 |
|
||||
| apache-libcloud | 2.0.0 | Apache License, V2.0 | https://pypi.org/project/apache-libcloud/ | Apache Software Foundation | 2004 |
|
||||
| appdirs | 1.4.4 | MIT/X11 | https://pypi.org/project/appdirs/ | Trent Mick | 2010 |
|
||||
| asn1crypto | 1.3.0 | MIT/X11 | https://pypi.org/project/asn1crypto/ | wbond | 2015-2019 |
|
||||
| attrs | 19.3.1 | MIT/X11 | https://pypi.org/project/attrs/ | Hynek Schlawack | 2015 |
|
||||
| aws-sam-translator | 1.25.0 | Apache License, V2.0 | https://pypi.org/project/aws-sam-translator/ | Amazon Web Services | 2004 |
|
||||
| aws-xray-sdk | 2.6.0 | Apache License, V2.0 | https://pypi.org/project/aws-xray-sdk/ | Amazon Web Services | 2004 |
|
||||
| azure | 4.0.0 | MIT/X11 | https://pypi.org/project/azure | Microsoft Corporation | 2016 |
|
||||
| azure-applicationinsights | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-applicationinsights/ | Microsoft Corporation | 2016 |
|
||||
| azure-batch | 4.1.3 | MIT/X11 | https://pypi.org/project/azure-batch/ | Microsoft Corporation | 2016 |
|
||||
| azure-common | 1.1.25 | MIT/X11 | https://pypi.org/project/azure-common/ | Microsoft Corporation | 2016 |
|
||||
| azure-cosmosdb-nspkg | 2.0.2 | Apache License, V2.0 | https://pypi.org/project/azure-cosmosdb-nspkg | Microsoft Corporation | 2004 |
|
||||
| azure-cosmosdb-table | 1.0.6 | Apache License, V2.0 | https://pypi.org/project/azure-cosmosdb-table/ | Microsoft Corporation | 2004 |
|
||||
| azure-datalake-store | 0.0.48 | MIT/X11 | https://pypi.org/project/azure-datalake-store/ | Microsoft Corporation | 2016 |
|
||||
| azure-eventgrid | 1.3.0 | MIT/X11 | https://pypi.org/project/azure-eventgrid/ | Microsoft Corporation | 2016 |
|
||||
| azure-graphrbac | 0.40.0 | MIT/X11 | https://pypi.org/project/azure-graphrbac/ | Microsoft Corporation | 2016 |
|
||||
| azure-keyvault | 1.1.0 | MIT/X11 | https://pypi.org/project/azure-keyvault/ | Microsoft Corporation | 2016 |
|
||||
| azure-loganalytics | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-loganalytics/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt | 4.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-advisor | 1.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-advisor/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-applicationinsights | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-applicationinsights/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-authorization | 0.50.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-authorization/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-batch | 5.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-batch/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-batchai | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-batchai/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-billing | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-billing/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-cdn | 3.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-cdn/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-cognitiveservices | 3.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-cognitiveservices/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-commerce | 1.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-commerce/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-compute | 4.6.2 | MIT/X11 | https://pypi.org/project/azure-mgmt-compute/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-consumption | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-consumption/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-containerinstance | 1.5.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-containerinstance/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-containerregistry | 2.8.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-containerregistry/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-containerservice | 4.4.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-containerservice/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-cosmosdb | 0.4.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-cosmosdb/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-datafactory | 0.6.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datafactory/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-datalake-analytics | 0.6.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datalake-analytics/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-datalake-nspkg | 3.0.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-datalake-nspkg/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-datalake-store | 0.5.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datalake-store/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-datamigration | 1.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-datamigration/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-devspaces | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-devspaces/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-devtestlabs | 2.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-devtestlabs/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-dns | 2.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-dns/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-eventgrid | 1.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-eventgrid/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-eventhub | 2.6.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-eventhub/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-hanaonazure | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-hanaonazure/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-iotcentral | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-iotcentral/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-iothub | 0.5.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-iothub/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-iothubprovisioningservices | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-iothubprovisioningservices/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-keyvault | 1.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-keyvault/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-loganalytics | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-loganalytics/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-logic | 3.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-logic/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-machinelearningcompute | 0.4.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-machinelearningcompute/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-managementgroups | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-managementgroups/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-managementpartner | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-managementpartner/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-maps | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-maps/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-marketplaceordering | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-marketplaceordering/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-media | 1.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-media/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-monitor | 0.5.2 | MIT/X11 | https://pypi.org/project/azure-mgmt-monitor/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-msi | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-msi/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-network | 2.7.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-network/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-notificationhubs | 2.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-notificationhubs/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-nspkg | 3.0.2 | MIT/X11 | https://pypi.org/project/azure-mgmt-nspkg/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-policyinsights | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-policyinsights/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-powerbiembedded | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-powerbiembedded/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-rdbms | 1.9.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-rdbms/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-recoveryservices | 0.3.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-recoveryservices/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-recoveryservicesbackup | 0.3.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-recoveryservicesbackup/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-redis | 5.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-redis/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-relay | 0.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-relay/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-reservations | 0.2.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-reservations/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-resource | 2.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-resource/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-scheduler | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-scheduler/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-search | 2.1.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-search/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-servicebus | 0.5.3 | MIT/X11 | https://pypi.org/project/azure-mgmt-servicebus/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-servicefabric | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-servicefabric/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-signalr | 0.1.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-signalr/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-sql | 0.9.1 | MIT/X11 | https://pypi.org/project/azure-mgmt-sql/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-storage | 2.0.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-storage/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-subscription | 0.2.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-subscription/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-trafficmanager | 0.50.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-trafficmanager/ | Microsoft Corporation | 2016 |
|
||||
| azure-mgmt-web | 0.35.0 | MIT/X11 | https://pypi.org/project/azure-mgmt-web/ | Microsoft Corporation | 2016 |
|
||||
| azure-nspkg | 3.0.2 | MIT/X11 | https://pypi.org/project/azure-nspkg/ | Microsoft Corporation | 2016 |
|
||||
| azure-servicebus | 0.21.1 | MIT/X11 | https://pypi.org/project/azure-servicebus/ | Microsoft Corporation | 2016 |
|
||||
| azure-servicefabric | 6.3.0.0 | MIT/X11 | https://pypi.org/project/azure-servicefabric/ | Microsoft Corporation | 2016 |
|
||||
| azure-servicemanagement-legacy | 0.20.7 | Apache License, V2.0 | https://pypi.org/project/azure-servicemanagement-legacy/ | Microsoft Corporation | 2016 |
|
||||
| azure-storage-blob | 1.5.0 | MIT/X11 | https://pypi.org/project/azure-storage-blob/ | Microsoft Corporation | 2017 |
|
||||
| azure-storage-common | 1.4.2 | MIT/X11 | https://pypi.org/project/azure-storage-common/ | Microsoft Corporation | 2017 |
|
||||
| azure-storage-file | 1.4.0 | MIT/X11 | https://pypi.org/project/azure-storage-file/ | Microsoft Corporation | 2016 |
|
||||
| azure-storage-queue | 1.4.0 | MIT/X11 | https://pypi.org/project/azure-storage-queue/ | Microsoft Corporation | 2017 |
|
||||
| bcrypt | 3.1.7 | Apache License, V2.0 | https://pypi.org/project/bcrypt/ | The Python Cryptographic Authority | 2013 |
|
||||
| boto | 2.49.0 | MIT/X11 | https://pypi.org/project/boto/ | Mitch Garnaatt | 2013 |
|
||||
| boto3 | 1.14.16 | Apache License, V2.0 | https://pypi.org/project/boto3/ | AWS | 2019 |
|
||||
| botocore | 1.17.16 | Apache License, V2.0 | https://pypi.org/project/botocore/ | AWS | 2019 |
|
||||
| cachetools | 4.1.1 | MIT/X11 | https://pypi.org/project/cachetools/ | tkem | 2014-2020 |
|
||||
| cassandra-driver | 3.24.0 | Apache License, V2.0 | https://pypi.org/project/cassandra-driver/ | DataStax | 2013 |
|
||||
| certifi | 2020.6.20 | Mozilla Public License, V2.0 | https://pypi.org/project/certifi/ | Kenneth Reitz | 2013 |
|
||||
| certvalidator | 0.11.1 | MIT/X11 | https://pypi.org/project/certvalidator/ | wbond | 2015-2018 |
|
||||
| cffi | 1.14.0 | MIT/X11 | https://pypi.org/project/cffi/ | Armin Rigo, Maciej Fijalkowski | 2005-2007 |
|
||||
| cfn-lint | 0.33.2 | MIT/X11 | https://pypi.org/project/cfn-lint/ | kddejong | 2018 |
|
||||
| chardet | 3.0.4 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/chardet/ | Daniel Blanchard | 2012 |
|
||||
| cheroot | 8.3.0 | BSD | https://pypi.org/project/cheroot/ | CherryPy Team | 2004-2020 |
|
||||
| click | 7.1.2 | BSD | https://pypi.org/project/click/ | Pallets | 2014 |
|
||||
| contextlib2 | 0.6.0.post1 | Python License | https://pypi.org/project/contextlib2/ | Nick Coghlan | 2015 |
|
||||
| croniter | 0.3.34 | MIT/X11 | https://pypi.org/project/croniter/ | Matsumoto Taichi, kiorky | 2014 |
|
||||
| cryptography | 2.9.2 | BSD | https://pypi.org/project/cryptography/ | The cryptography developers | 2014 |
|
||||
| decorator | 4.4.2 | BSD | https://pypi.org/project/decorator/ | Michele Simionato | 2005-2018 |
|
||||
| distlib | 0.3.1 | Python License | https://pypi.org/project/distlib/ | Vinay Sajip | 2012 |
|
||||
| dnspython | 1.16.0 | BSD | https://pypi.org/project/dnspython/ | Bob Halley | 2001-2017 |
|
||||
| docker | 4.2.2 | Apache License, V2.0 | https://pypi.org/project/docker/ | Joffery F | 2016 |
|
||||
| docutils | 0.15.2 | BSD | https://pypi.org/project/docutils/ | David Goodger | 2011 |
|
||||
| ecdsa | 0.15 | MIT/X11 | https://pypi.org/project/ecdsa/ | Brian Warner | 2010 |
|
||||
| filelock | 3.0.12 | Public Domain | https://pypi.org/project/filelock/ | Benedikt Schmitt | 2018 |
|
||||
| future | 0.18.2 | MIT/X11 | https://pypi.org/project/future/ | Ed Schofield | 2013-2019 |
|
||||
| geomet | 0.2.1.post1 | Apache License, V2.0 | https://pypi.org/project/geomet/ | Lars Butler | 2014 |
|
||||
| gitdb | 4.0.5 | BSD | https://pypi.org/project/gitdb/ | Sebastian Thiel | 2010, 2011 |
|
||||
| google-auth | 1.18.0 | Apache License, V2.0 | https://pypi.org/project/google-auth/ | Google Cloud Platform | 2016 |
|
||||
| hgtools | 8.2.0 | MIT/X11 | https://pypi.org/project/hgtools/ | Jason R. Coombs | 2019 |
|
||||
| idna | 2.8 | BSD | https://pypi.org/project/idna/ | Kim Davies | 2013-2020 |
|
||||
| importlib-metadata | 1.7.0 | Apache License, V2.0 | https://pypi.org/project/importlib-metadata/ | Barry Warsaw | 2017-2019 |
|
||||
| ipaddress | 1.0.23 | Python License | https://pypi.org/project/ipaddress/ | Philipp Hagemeister | 2014 |
|
||||
| isodate | 0.6.0 | BSD | https://pypi.org/project/isodate/ | Gerhard Weis | 2009 |
|
||||
| jaraco.functools | 3.0.1 | MIT/X11 | https://pypi.org/project/jaraco.functools/ | Jason R. Coombs | 2020 |
|
||||
| jmespath | 0.10.0 | MIT/X11 | https://pypi.org/project/jmespath/ | James Saryerwinnie | 2013 |
|
||||
| jsondiff | 1.1.2 | MIT/X11 | https://pypi.org/project/jsondiff/ | Zoomer Analytics LLC | 2015 |
|
||||
| jsonpatch | 1.26 | BSD | https://pypi.org/project/jsonpatch/ | Stefan Kögl | 2011 |
|
||||
| jsonpickle | 1.4.1 | BSD | https://pypi.org/project/jsonpickle/ | David Aguilar | 2009-2018 |
|
||||
| jsonpointer | 2 | BSD | https://pypi.org/project/jsonpointer/ | Stefan Kögl | 2017 |
|
||||
| jsonschema | 3.2.0 | MIT/X11 | https://pypi.org/project/jsonschema/ | Julian Berman | 2013 |
|
||||
| junit-xml | 1.9 | MIT/X11 | https://pypi.org/project/junit-xml/ | Brian Beyer | 2013 |
|
||||
| junos-eznc | 2.4.0 | Apache License, V2.0 | https://pypi.org/project/junos-eznc/ | Jeremy Schulman, Nitin Kumar, Rick Sherman, Stacy Smith | 2018 |
|
||||
| jxmlease | 1.0.3 | MIT/X11 | https://pypi.org/project/jxmlease/ | Juniper Networks | 2015-2016 |
|
||||
| kazoo | 2.7.0 | Apache License, V2.0 | https://pypi.org/project/kazoo/ | Kazoo team | 2012 |
|
||||
| keyring | 5.7.1 | MIT/X11 | https://pypi.org/project/keyring/ | Kang Zhang | 2019 |
|
||||
| kubernetes | 3.0.0 | Apache License, V2.0 | https://pypi.org/project/kubernetes/ | Kubernetes | 2016 |
|
||||
| libnacl | 1.7.1 | Apache License, V2.0 | https://pypi.org/project/libnacl/ | Thomas S Hatch | 2014 |
|
||||
| lxml | 4.5.1 | BSD | https://pypi.org/project/lxml/ | lxml dev team | 2019 |
|
||||
| mock | 4.0.2 | BSD | https://pypi.org/project/mock/ | Testing Cabal | 2003-2013 |
|
||||
| more-itertools | 5.0.0 | MIT/X11 | https://pypi.org/project/more-itertools/ | Eric Rose | 2012 |
|
||||
| moto | 1.3.14 | Apache License, V2.0 | https://pypi.org/project/moto/ | Steve Pulec | 2004 |
|
||||
| msrest | 0.6.17 | MIT/X11 | https://pypi.org/project/msrest/ | Microsoft | 2016 |
|
||||
| msrestazure | 0.6.4 | MIT/X11 | https://pypi.org/project/msrestazure/ | Microsoft | 2016 |
|
||||
| natsort | 7.0.1 | MIT/X11 | https://pypi.org/project/natsort/ | Seth M. Morton | 2012-2020 |
|
||||
| ncclient | 0.6.7 | Apache License, V2.0 | https://pypi.org/project/ncclient/ | Shikhar Bhushan, Leonidas Poulopoulos, Ebben Aries, Einar Nilsen-Nygaard | 2004 |
|
||||
| netaddr | 0.8.0 | BSD | https://pypi.org/project/netaddr/ | Author: David P. D. Moss, Stefan Nordhausen et al | 2008 |
|
||||
| networkx | 2.4 | BSD | https://pypi.org/project/networkx/ | Aric Hagberg | 2004-2020 |
|
||||
| ntc-templates | 1.5.0 | Apache License, V2.0 | https://pypi.org/project/ntc-templates/ | Jason Edelman | 2015 |
|
||||
| oauthlib | 3.1.0 | BSD | https://pypi.org/project/oauthlib/ | The OAuthlib Community | 2019 |
|
||||
| oscrypto | 1.2.0 | MIT/X11 | https://pypi.org/project/oscrypto/ | wbond | 2015-2019 |
|
||||
| paramiko | 2.7.1 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/paramiko/ | Jeff Forcier | 1999 |
|
||||
| passlib | 1.7.2 | BSD | https://pypi.org/project/passlib/ | Eli Collins | 2004 |
|
||||
| pathtools | 0.1.2 | MIT/X11 | https://pypi.org/project/pathtools/ | Yesudeep Mangalapilly | 2010 |
|
||||
| portend | 2.6 | MIT/X11 | https://pypi.org/project/portend/ | Jason R Coombs | 2018 |
|
||||
| psutil | 5.7.0 | BSD | https://pypi.org/project/psutil/ | Giampaolo Rodola | 2009 |
|
||||
| pyOpenSSL | 19.1.0 | Apache License, V2.0 | https://pypi.org/project/pyOpenSSL/ | The pyopenssl Developers | 2004 |
|
||||
| pyasn1 | 0.4.8 | BSD | https://pypi.org/project/pyasn1/ | Ilya Etingof | 2005-2020 |
|
||||
| pyasn1-modules | 0.2.8 | BSD | https://pypi.org/project/pyasn1-modules/ | Ilya Etingof | 2005-2020 |
|
||||
| pycparser | 2.20 | BSD | https://pypi.org/project/pycparser/ | Eli Bendersky | 2008-2017 |
|
||||
| pygit2 | 1.2.1 | GNU General Public License, V2.0 | https://pypi.org/project/pygit2/ | J. David Ibáñez | 2012 |
|
||||
| pyinotify | 0.9.6 | MIT/X11 | https://pypi.org/project/pyinotify/ | Sebastien Martini | 2010 |
|
||||
| pyparsing | 2.4.7 | MIT/X11 | https://pypi.org/project/pyparsing/ | Paul McGuire | 2018 |
|
||||
| pyrsistent | 0.16.0 | MIT/X11 | https://pypi.org/project/pyrsistent/ | Tobias Gustafsson | 2019 |
|
||||
| pyserial | 3.4 | BSD | https://pypi.org/project/pyserial/ | Chris Liechti | 2001-2016 |
|
||||
| python-dateutil | 2.8.1 | Apache License, V2.0 | https://pypi.org/project/python-dateutil/ | Gustavo Niemeyer | 2017 |
|
||||
| python-etcd | 0.4.5 | MIT/X11 | https://pypi.org/project/python-etcd/ | Jose Plana | 2015 |
|
||||
| python-gnupg | 0.4.6 | BSD | https://pypi.org/project/python-gnupg/ | Vinay Sajip | 2008-2019 |
|
||||
| python-jose[cryptography] | 3.2.0 | MIT/X11 | https://pypi.org/project/python-jose/ | Michael Davis | 2015 |
|
||||
| pytz | 2020.1 | MIT/X11 | https://pypi.org/project/pytz/ | Stuart Bishop | 2015 |
|
||||
| pyvmomi | 7 | Apache License, V2.0 | https://pypi.org/project/pyvmomi/ | VMware, Inc. | 2004 |
|
||||
| requests | 2.24.0 | Apache License, V2.0 | https://pypi.org/project/requests/ | Kenneth Reitz | 2004 |
|
||||
| requests-oauthlib | 1.3.0 | BSD | https://pypi.org/project/requests-oauthlib/ | Kenneth Reitz | 2014 |
|
||||
| responses | 0.10.15 | Apache License, V2.0 | https://pypi.org/project/responses/ | David Cramer | 2004 |
|
||||
| rfc3987 | 1.3.8 | GNU General Public License, V3.0 | https://pypi.org/project/rfc3987/ | Daniel Gerber | 2007 |
|
||||
| rsa | 4.6 | Apache License, V2.0 | https://pypi.org/project/rsa/ | Sybren A. Stuvel | 2011 |
|
||||
| s3transfer | 0.3.3 | Apache License, V2.0 | https://pypi.org/project/s3transfer/ | Amazon Web Services | 2004 |
|
||||
| scp | 0.13.2 | GNU Lesser General Public License, V2.1 | https://pypi.org/project/scp/ | James Bardin | 2013 |
|
||||
| setproctitle | 1.1.10 | BSD | https://pypi.org/project/setproctitle/ | Daniele Varrazzo | 2009-2020 |
|
||||
| setuptools-scm | 4.1.2 | MIT/X11 | https://pypi.org/project/setuptools-scm/ | Ronny Pfannschmidt | 2010 |
|
||||
| six | 1.15.0 | MIT/X11 | https://pypi.org/project/six/ | Benjamin Peterson | 2010-2020 |
|
||||
| smmap | 3.0.4 | BSD | https://pypi.org/project/smmap/ | Sebastian Thiel | 2010, 2011 |
|
||||
| sshpubkeys | 3.1.0 | BSD | https://pypi.org/project/sshpubkeys/ | Olli Jarva | 2014 |
|
||||
| strict-rfc3339 | 0.7 | GNU General Public License, V3.0 | https://pypi.org/project/strict-rfc3339/ | Daniel Richman, Adam Greig | 2007 |
|
||||
| tempora | 3.0.0 | MIT/X11 | https://pypi.org/project/tempora/ | Jason R. Coombs | 2020 |
|
||||
| textfsm | 1.1.0 | Apache License, V2.0 | https://pypi.org/project/textfsm/ | Google | 2004 |
|
||||
| timelib | 0.2.4 | BSD | https://pypi.org/project/timelib/ | Ralf Schmitt | 2009-2011 |
|
||||
| toml | 0.10.1 | MIT/X11 | https://pypi.org/project/toml/ | William Pearson | 2013-2019 |
|
||||
| transitions | 0.8.2 | MIT/X11 | https://pypi.org/project/transitions/ | Tal Yarkoni | 2014 - 2020 |
|
||||
| urllib3 | 1.25.9 | MIT/X11 | https://pypi.org/project/urllib3/ | Andrey Petrov | 2008-2020 |
|
||||
| vcert | 0.7.4 | ASL | https://pypi.org/project/vcert | Denis Subbotin | 2018 |
|
||||
| virtualenv | 20.0.25 | MIT | https://pypi.org/project/virtualenv | Bernat Gabor | 2020-202x |
|
||||
| watchdog | 0.10.3 | Apache License 2.0 | https://pypi.org/project/watchdog | Yesudeep Mangalapilly | 2012 |
|
||||
| websocket-client | 0.57.0 | BSD | https://pypi.org/project/websocket-client | liris | 2018 |
|
||||
| wrapt | 1.12.1 | BSD | https://pypi.org/project/wrapt | Graham Dumpleton | 2013-2019 |
|
||||
| xmltodict | 0.12.0 | MIT | https://pypi.org/project/xmltodict | Martin Blech | 2010 |
|
||||
| yamlordereddictloader | 0.4.0 | MIT License | https://pypi.org/project/yamlordereddictloader | François Ménabé | 2017 |
|
||||
| zc.lockfile | 2 | ZPL 2.1 | https://pypi.org/project/zc.lockfile | Zope Foundation | 2010 |
|
||||
| zipp | 3.1.0 | MIT | https://pypi.org/project/zipp | Jason R. Coombs | 2019 |
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
Issue #33669: Fixes an issue with the ``ini_managed`` execution module
|
||||
where it would always wrap the separator with spaces. Adds a new parameter
|
||||
named ``no_spaces`` that will not warp the separator with spaces.
|
|
@ -1 +0,0 @@
|
|||
Fixed `salt.*.get` shorthand via Salt-SSH
|
|
@ -1,2 +0,0 @@
|
|||
Commands on Windows are now prefixed with ``cmd /c`` so that compound
|
||||
commands (commands separated by ``&&``) run properly when using ``runas``
|
|
@ -1 +0,0 @@
|
|||
Fixed erroneous recursive requisite error when a prereq is used in combination with onchanges_any.
|
|
@ -1 +0,0 @@
|
|||
Added metalink to mod_repo in yumpkg and documented in pkgrepo state
|
|
@ -1,4 +0,0 @@
|
|||
Issue 58969: Fixes an issue with `saltclass.expand_classes_in_order`
|
||||
function where it was losing nested classes states during class
|
||||
expansion. The logic now use `salt.utils.odict.OrderedDict` to keep
|
||||
the inclusion ordering.
|
|
@ -1 +0,0 @@
|
|||
Fixed dependency resolution to not be quadratic.
|
|
@ -1 +0,0 @@
|
|||
Added ssl and verify_ssl arguments to mongodb module and states.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed an issue on Windows where checking success_retcodes when using the
|
||||
runas parameter would fail. Now success_retcodes are checked correctly
|
|
@ -1,2 +0,0 @@
|
|||
Fix an issue with cmd.script in Windows so that the exit code from a script will
|
||||
be passed through to the retcode of the state
|
|
@ -1,2 +0,0 @@
|
|||
Fixed an issue uninstalling packages on Windows using pkg.removed where there
|
||||
are multiple versions of the same software installed
|
|
@ -1 +0,0 @@
|
|||
- firewalld: normalize new rich rules before comparing to old ones
|
|
@ -1,2 +0,0 @@
|
|||
Added two new options, ``win_delay_start`` and ``win_install_dir``, to pass to
|
||||
the Windows installer in salt-cloud
|
|
@ -1 +0,0 @@
|
|||
Ensure file clients for runner, wheel, local and caller are available from the client_cache if called upon.
|
|
@ -1 +0,0 @@
|
|||
Fixed performance when state_aggregate is enabled.
|
|
@ -1 +0,0 @@
|
|||
Convert stdin string to bytes regardless of stdin_raw_newlines
|
|
@ -1 +0,0 @@
|
|||
Add context aware change handling for file state module
|
|
@ -1,4 +0,0 @@
|
|||
Issue 63933: Fixes an issue with `saltclass.expanded_dict_from_minion`
|
||||
function where it was passing a reference to minion `dict` which was
|
||||
overridden by nested classes during class expansion. Copy the node
|
||||
definition with `copy.deepcopy` instead of passing a reference.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed an intermittent issue with file.recurse where the state would
|
||||
report failure even on success. Makes sure symlinks are created
|
||||
after the target file is created
|
|
@ -1 +0,0 @@
|
|||
The 'profile' outputter does not crash with incorrectly formatted data
|
|
@ -1,2 +0,0 @@
|
|||
Await on zmq monitor socket's poll method to fix publish server reliability in
|
||||
environment's with a large amount of minions.
|
|
@ -1 +0,0 @@
|
|||
Fixed aggregation to correctly honor requisites.
|
|
@ -1 +0,0 @@
|
|||
Add ability to show diff for new files in file.managed
|
|
@ -1 +0,0 @@
|
|||
Added Virtuozzo Linux to Redhat os_family
|
|
@ -1 +0,0 @@
|
|||
fix 65703 by using OrderedDict instead of a index that breaks. .
|
|
@ -1 +0,0 @@
|
|||
fix consul.acl_create rule creation
|
|
@ -1 +0,0 @@
|
|||
Fix salt-cloud get_cloud_config_value for list objects
|
|
@ -1 +0,0 @@
|
|||
Made Salt Cloud Hetzner module detect image architecture from instance type
|
|
@ -1 +0,0 @@
|
|||
Remove commuity extensions from Salt codebase
|
|
@ -1 +0,0 @@
|
|||
Make `salt-run jobs.master` return runner jobs that are currently running on a master.
|
|
@ -1 +0,0 @@
|
|||
Ansiblegate discover_playbooks was changed to find playbooks as either *.yml or *.yaml files
|
|
@ -1 +0,0 @@
|
|||
re-work the aptpkg module to remove system libraries that onedir and virtualenvs do not have access. Streamline testing, and code use to needed libraries only.
|
|
@ -1 +0,0 @@
|
|||
Fix file.managed and file.serialize default tmp_dir to relative path
|
|
@ -1 +0,0 @@
|
|||
Added file and plaintext sources to `gpg.present`, allowed to skip keyserver queries
|
|
@ -1 +0,0 @@
|
|||
Make win_timezone recognize Qyzylorda timezone
|
|
@ -1 +0,0 @@
|
|||
added pkg.which to aptpkg, for finding which package installed a file.
|
|
@ -1 +0,0 @@
|
|||
Allow pre-connection scripts to be run on host before any ssh commands
|
|
@ -1 +0,0 @@
|
|||
Fix vault module doesn't respect `server.verify` option during unwrap if verify is set to `False` or CA file on the disk
|
|
@ -1 +0,0 @@
|
|||
Make sure the master_event_pub.ipc file has correct reed/write permissions for salt group.
|
|
@ -1 +0,0 @@
|
|||
Fix batch mode hang indefinitely in some scenarios
|
|
@ -1 +0,0 @@
|
|||
Added port, tls, username and password to the `smtp` configuration of the highstate returner.
|
|
@ -1 +0,0 @@
|
|||
Applying `selinux.fcontext_policy_present` to a shorter path than an existing entry now works
|
|
@ -1 +0,0 @@
|
|||
Made gpg modules create GNUPGHOME if it does not exist
|
|
@ -1 +0,0 @@
|
|||
Made gpg modules respect user's GNUPGHOME if set in shell environment
|
|
@ -1 +0,0 @@
|
|||
Made `gpg.present` attempt to refresh keys if they are expired
|
|
@ -1 +0,0 @@
|
|||
fix #66194: Exchange HTTPClient by AsyncHTTPClient in salt.utils.http
|
|
@ -1 +0,0 @@
|
|||
Fixed `salt.*.*` attribute syntax for non-Jinja renderers via Salt-SSH
|
|
@ -1 +0,0 @@
|
|||
Made x509_v2 the default x509 modules. Until they are removed in the next major release, you can still revert to the old modules by setting `features: {x509_v2: false}` in the configuration
|
|
@ -1,3 +0,0 @@
|
|||
Fixed an issue where conflicting top level keys in the static grains file
|
||||
(usually `/etc/salt/grains`) would break all grains states, and prevent static
|
||||
grains from being loaded.
|
|
@ -1 +0,0 @@
|
|||
Improve macOS defaults support
|
|
@ -1 +0,0 @@
|
|||
Remove psutil_compat.py file, which should have been removed when RHEL 6 EOL
|
|
@ -1 +0,0 @@
|
|||
Added support for specifying different signature verification backends in `file.managed`/`archive.extracted`
|
|
@ -1 +0,0 @@
|
|||
Added an `asymmetric` execution module for signing/verifying data using raw asymmetric algorithms
|
|
@ -1 +0,0 @@
|
|||
Included Salt extensions in Salt-SSH thin archive
|
|
@ -1 +0,0 @@
|
|||
Correct bash-completion for Debian / Ubuntu
|
|
@ -1 +0,0 @@
|
|||
Fix minion config option startup_states
|
|
@ -1,2 +0,0 @@
|
|||
Fixed an issue with cmd.run with requirements when the shell is not the
|
||||
default
|
|
@ -1 +0,0 @@
|
|||
Fixed accessing wrapper modules in Salt-SSH Jinja templates via attribute syntax
|
|
@ -1 +0,0 @@
|
|||
Fixed Salt-SSH crash when key deploy is skipped manually
|
|
@ -1 +0,0 @@
|
|||
Add support for additional options in several mac_brew_pkg methods
|
|
@ -1,4 +0,0 @@
|
|||
Fixes an issue when getting account names using the get_name function in the
|
||||
win_dacl.py salt util. Capability SIDs return ``None``. SIDs for deleted
|
||||
accounts return the SID. SIDs for domain accounts where the system is not
|
||||
connected to the domain return the SID.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed an issue where ``status.master`` wasn't detecting a connection to the
|
||||
specified master properly
|
|
@ -1,2 +0,0 @@
|
|||
Fixed ``win_wua.available`` when some of the update objects are empty CDispatch
|
||||
objects. The ``available`` function no longer crashes
|
|
@ -1 +0,0 @@
|
|||
Clean up multiprocessing file handles on minion
|
|
@ -1 +0,0 @@
|
|||
Use `--cachedir` parameter for setting `extension_modules` with salt-call.
|
|
@ -1 +0,0 @@
|
|||
Fixed nacl.keygen for not yet existing sk_file or pk_file
|
|
@ -1 +0,0 @@
|
|||
fix yaml output
|
|
@ -1,2 +0,0 @@
|
|||
Fixed an issue where enabling `grain_opts` in the minion config would cause
|
||||
some core grains to be overwritten.
|
|
@ -1,2 +0,0 @@
|
|||
Fix an issue where files created using `salt.utils.atomicile.atomic_open()`
|
||||
were created with restrictive permissions instead of respecting the umask.
|
|
@ -1 +0,0 @@
|
|||
Fix bad async_method name on AsyncPubClient class
|
|
@ -1 +0,0 @@
|
|||
Ensure Manjaro ARM reports the correct os_family of Arch.
|
|
@ -1,2 +0,0 @@
|
|||
Removed ``salt.utils.data.decode`` usage from the fileserver. This function was
|
||||
necessary to support Python 2. This speeds up loading the list cache by 80-90x.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue