github pyinfra-dev/pyinfra v1.5

latest releases: v3.0.beta1, v2.9.2, v2.9.1...
2 years ago

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

Don't miss a new pyinfra release

NewReleases is sending notifications on new releases.