pyinfra v0.2
pyinfra automates service deployment. It does this by diff-ing the state of the server with the state defined in the deploy script. Deploys are asyncronous and highly performant. The inventory & deploy are managed with pure Python, allowing for near-infinite extendability.
New stuff:
- Add LXD facts/module
- Add iptables facts/module
- Support usernames with non-standard characters (_, capitals, etc)
- Add global
get_pty
kwarg for all operations to work with certain dodgy programs - Add
--fail-percent
CLI arg - Add
exclude
kwarg tofiles.sync
- Enable
--limit
CLI arg to be multiple, comma separated, hostnames - Add
no_recommends
kwarg toapt.packages
operation - Make local imports work like calling
python
by adding.
tosys.path
in CLI - Add key/value release meta to
linux_distribution
fact - Improve how the init module handles "unknown" services
- Add
force
kwarg toapt.packages
andapt.deb
and don't--force-yes
by default
To-be-breaking changes (deprecated & will be removed in 0.3):
- Switch to lowercase inventory names (accessing
inventory.bsd
where the group is defined asBSD = []
is deprecated) - Rename
yum.upgrade
->yum.update
(yum.upgrade
deprecated) - Deprecate
pip_virtualenv_packages
fact aspip_packages
will now accept an argument for the virtualenv - Deprecate
npm_local_packages
fact asnpm_packages
will accept an argument for the directory
Internal changes:
- Operations now
yield
, rather than returning lists of commands