pyinfra v1.1.dev2 Release Notes

Release Date: 2020-08-23 // over 3 years ago
  • ๐Ÿš€ This is a big release with some major additions & improvements on v1, especially around API usage and packaing deploys using the @deploy decorator.

    What's new:

    • ๐Ÿ— Add @dockerssh connector that enables pyinfra to build Docker containers on remote machines over SSH (@charles-l)
    • โž• Add global precondition and postcondition operation arguments
    • ๐Ÿš€ Implement state callback classes dramatically improving the API experience (see examples/api_deploy.py)
    • ๐Ÿ“š Start modifying facts during fact gathering phase, resolving common issues with interdependent operations, expand documentation on this (see: https://docs.pyinfra.com/en/latest/deploy_process.html#interdependent-operations)

    Notable change:

    ๐Ÿ”„ The yum.packages and dnf.packages operations have changed their "version join" string value - both package managers use - to join name + version while allowing - in the name. This leads to ambiguous behaviour for packages containing dashes, as such the version join value has been changed to =. This means to specify a specific version of a yum/dnf package you should use <name>=<version> rather than <name>-<version>

    Smaller bits:

    • Validate existing files in file.download with checksum arguments (@sysadmin75)
    • ๐Ÿ›  Stop stripping fact output (fixes command fact, @sysadmin75)
    • Add extra_install_args and extra_uninstall_args kwargs to apt.packages operation
    • โž• Add --use-sudo-password CLI argument
    • ๐Ÿ›  Fix using sudo password with a SSH user that doesn't have access to /tmp
    • ๐Ÿ›  Fix python.call docstring (@leahneukirchen)
    • ๐Ÿ›  Fix --serial and --no-wait executing operations twice
    • ๐Ÿ›  Fix su usage on BSD/MacOS systems
    • ๐Ÿ‘Œ Improve autocomplete/intellisense handling of pseudo modules pyinfra.[host|state|inventory]