Skip to content

Releases: pyinfra-dev/pyinfra

v1.7

06 Mar 13:30
8578430
Compare
Choose a tag to compare
  • Add --user and --machine flags to systemd.* operations (@jmpolom)
  • Fix treat Zypper package names as case-sensitive (@sysadmin75)
  • Fix CLI flags with click<7.0 (@gchazot)
  • Fix automatic sudo check when get_pty=True
  • Fix respect config.TEMP_DIR setting for sudo file up/downloads

v1.6.3

19 Feb 18:35
233a779
Compare
Choose a tag to compare
  • Enable passing success_exit_codes into host.get_fact calls (@mohsinhijazee)
  • Fix bug triggered when no SSH config file exists

v1.6.2

18 Feb 14:23
c8e2f85
Compare
Choose a tag to compare

SSH connector config fixes:

  • Implement & fix StrictHostKeyChecking matching how OpenSSH works (@bauen1)
  • Fix / use SSH config for ProxyJump hosts (@artizirk)
  • Add ways to disable SSH agent / looking for SSH keys (host.data.ssh_allow_agent & host.data.ssh_look_for_keys)
  • Fix Match exec SSH config

Operation/fact fixes:

  • Set LC_TIME in server.Date fact
  • Use a temporary file + move in files.download operation

Misc:

  • Workaround fix for host.data.env not being a dictionary
  • Workaround fix for host.data.use_sudo_password being different for each host
  • Fix bash autocomplete documentation (@oz123)
  • Fix incorrect handling of internal errors when hosts fail
  • Refreshed logo/readme/docs/website for upcoming v2

v1.6.1

08 Jan 18:25
ff0913d
Compare
Choose a tag to compare
  • Fix typo bug in the SSH client preventing connection

v1.6

08 Jan 18:12
080bc8e
Compare
Choose a tag to compare

A small release with a few features and fixes. Future development will utilise smaller, more regular releases to avoid long gaps waiting on feature X to be complete.

This release also changes the git branching model to use current for anything non-breaking, and the next branch now targets the next major version. This should avoid unncessary confusion for the wonderful contributors to pyinfra.

Operations:

  • Make it possible to load relative (to CWD) templates (includes/bases/etc) (@themanifold)
  • Add apt.dist_update operation (@bauen1)
  • Fix files.Link fact & files.link operation where path pre-exists and is not a link

Connectors:

  • Support setting shell_executable=None to pass raw commands to the target (@KuxaBeast)
  • Fix handling of SSH proxy jump config
  • Only load SSH host keys once
  • Make it possible to specify a SSH config file via host.data.ssh_config_file

v1.5

14 Nov 11:27
af4bc73
Compare
Choose a tag to compare

This release includes a huge number of improvements, major highlights:

Automatic sudo password prompting - at last! pyinfra can now detect when a sudo password is required and will prompt the user.

Global config object - there is now a pyinfra.config object that should be used to set config variables:

from pyinfra import config
config.SUDO = True

This replaces the old style of setting SUDO = True at the top of files which was extracted via the AST. This new object means config variables can be set to anything (including the results of functions) and work across multiple deploy files.

Operation & fact updates:

  • Add pkgin.packages & pkgin.upgrade operations (@lun-4)
  • Add pkgin.PkginPackages fact (@lun-4)
  • Add selinux.FileContext & selinux.SEBoolean facts (@benridley)
  • Add openrc.service operation
  • Add openrc.OpenrcStatus & openrc.OpenrcEnabled facts
  • Add last login time to server.Users fact (@sysadmin75)
  • Fetch held deb package versions in deb.DebPackages fact (@GerardoGR)
  • Add force, force_backup and force_backup_dir arguments to files.files, files.directory & files.link operations
  • Add resource and SSL arguments to mysql.user operation
  • Add with_grant_option argument to mysql.privileges operation
  • Add available argument to apk.packages operation (@lun-4)

Connector updates:

  • Transfer ownership of files uploaded with su/sudo (@benridley)
  • Add ssh_forward_agent group data variable overriding SSH config

Other bits:

  • Add doas & doas_user global arugments
  • Use host data for global arguments (host.data.sudo, etc)
  • Add --data key=value CLI flag
  • Propagate return value from @deploy decorator (@karlicoss)
  • Large expansion of tested idempotent operations
  • Loosen distro requirement

v1.4.19

13 Nov 19:20
3f9e4b4
Compare
Choose a tag to compare
  • Use uname -m in server.Arch fact (@weakish)
  • Fix user check in server.user operation (@glassbeads)
  • Fix setting user primary group in server.user operation (@glassbeads)
  • Always add CWD to sys.path (@glassbeads)
  • Fix issues with regex parsing for deb.DebPackage & deb.DebPackages facts
  • Fix parsing apt repository lines with [] characters

v1.4.18

30 Oct 18:48
caf9a65
Compare
Choose a tag to compare
  • Fix exception collecting Docker.* facts on objects that don't exist
  • Support variable interpolation in files.FindInFile fact
  • Add debug-inventory example to the help doc
  • Show a warning when a --limit option doesn't match any hosts
  • Warn only if SSH keys fail to load
  • Include actual error when we encounter authentication errors

v1.4.17

15 Oct 16:15
2cc084d
Compare
Choose a tag to compare
  • Fix excluding multiple directories in files.sync operation (@gchazot)
  • Cleanup filesystem mocking in operation tests (@gchazot)
  • Fix bug in command generation when config sudo user is set
  • Stop removing sudo/su arguments in the Docker connector

v1.4.16

03 Oct 16:09
9562eff
Compare
Choose a tag to compare
  • Fix loading of system SSH host keys
  • Fix/show warning when no SSH host key present on connect