Releases: pyinfra-dev/pyinfra
v1.6
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
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
andforce_backup_dir
arguments tofiles.files
,files.directory
&files.link
operations - Add resource and SSL arguments to
mysql.user
operation - Add
with_grant_option
argument tomysql.privileges
operation - Add
available
argument toapk.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
- Use
uname -m
inserver.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
- 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
v1.4.16
v1.4.15
v1.4.14
- Add
quote_path=True
argument tofiles.[FindFiles|FindLinks|FindDirectories]
facts - Fix enable/disable service in
sysvinit.service
operation using un-quoted path - Fix path join handling in certain cases in
files.sync
operation - Always normalise paths in
files.[file|link|directory]
operations
v1.4.13
v1.4.12
- Support tag names in
git.GitBranch
fact (@stevenkaras) - Fix
cache_time
test infiles.download
operation (@stevenkaras) - Fix parsing of
server.LinuxDistribution
fact for Archlinux (@TypicalFence) - Correctly return
None
when no major version inserver.LinuxDistribution
fact