Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⬆️ (dependencies): Update dependency pyinfra to v3 (major) #174

Merged
merged 1 commit into from
Jul 15, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 15, 2024

Mend Renovate

This PR contains the following updates:

Package Update Change OpenSSF
pyinfra (source) major ==2.9.2 -> ==3.0 OpenSSF Scorecard

Release Notes

Fizzadar/pyinfra (pyinfra)

v3.0

Compare Source

Welcome to pyinfra v3! This version is the biggest overhaul of pyinfra since it was created back in 2015. Most v2 deployment code should be automatically compatible, but as always be aware. Major changes:

Runtime operation execution

pyinfra now executes operations at runtime, rather than pre-generating commands. Although the change isn't noticeable this fixes an entire class of bugs and confusion. See the limitations section in the v2 docs. All of those issues are now a thing of the past.

This represents a huge overhaul of pyinfra's internals and should be a huge improvement for users.

Care has been taken to reduce the overhead of this change which still supports the same diffs and change proposal mechanism.

CLI flow & prompts

The pyinfra CLI will now prompt (instead of ignore, or immediately exit) when problems are encountered, allowing the user to choose to continue. Additionally an approval step is added before executing changes (this can be skipped with -y or setting the PYINFRA_YES environment variable).

Extendable connectors API, typing overhaul

v3 of pyinfra includes for the first time a (mostly) typed internal API with proper support for IDE linting. There's a whole new connectors API that provides a framework for building new connectors.

Breaking changes
  • Rename _use_sudo_password argument to _sudo_password
  • Remove winrm connector and windows* operations/facts, moving to pyinfra-windows
  • The deploy decorator must now be called, ie used as @deploy(), and is now typed
  • Remove broken Ansible inventory connector
Operations & Facts
  • Add docker.container, docker.image, docker.volume, docker.network & docker.prune operations (@​apecnascimento)
  • Add runit.service operation and RunitStatus fact (@​lemmi)
  • Add TmpDir fact
  • Add services argument to systemd facts for filtering
  • Add type hints for all the operations (@​stone-w4tch3r)
  • Lowercase pip packages properly (PEP-0426)
  • Rename postgresql -> postgres operations & facts (old ones still work)
  • Improve IP/MAC parsing in NetworkDevices fact (@​sudoBash418)
  • Enable getting Home fact for other users (@​matthijskooijman)
  • Use users correct home directory in server.user_authorized_keys operation (@​matthijskooijman)
  • Fix destination/not_destination arguments in iptables.rule operation
  • Fix remote dirs when executing from Windows in files.sync operation (@​Renerick)
  • Fix quoting of systemd unit names (@​martenlienen)
Other Changes
  • Add new _if global argument to control operation execution at runtime
  • Add --debug-all flag to set debug logging for all packages
  • Retry SSH connections on failure (configurable, see SSH connector) (@​fwiesel)
  • Documentation typo fixes (@​szepeviktor, @​sudoBash418)
  • Fix handling of binary files in Docker connector (@​matthijskooijman)
  • Add will_change attribute and did_change context manager to OperationMeta
  • Replace use of pkg_resources with importlib.metadata (@​diazona)
  • Fix identifying Python inventory files as modules (@​martenlienen)
  • Fix typed arguments order (@​cdleonard)
  • Check that fact commands don't take global arguments (@​martenlienen)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot enabled auto-merge July 15, 2024 08:16
@renovate renovate bot added this pull request to the merge queue Jul 15, 2024
Merged via the queue into main with commit c0e160d Jul 15, 2024
8 checks passed
@renovate renovate bot deleted the renovate/pyinfra-3.x branch July 15, 2024 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants