pyinfra transforma código Python em comandos shell e os executa em seus servidores. Execute comandos ad-hoc e escreva operações declarativas. Servidores SSH de destino, máquina local e contêineres Docker. Rápido e escalável de um servidor para milhares. Pense ansible
, mas em Python em vez de YAML, e muito mais rápido.
Documentação • Ajuda e suporte • Contribuindo
Por que pyinfra? Os recursos de design incluem:
-vvv
). Instale o pyinfra com pip
:
pip install pyinfra
Agora você pode executar comandos em hosts via SSH:
pyinfra my-server.net exec -- echo " hello world "
Ou direcione os contêineres do Docker, a máquina local e outros conectores:
pyinfra @docker/ubuntu exec -- echo " Hello world "
pyinfra @local exec -- echo " Hello world "
Além de executar comandos, você pode definir o estado usando operações:
# Install iftop apt package if not present
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
Que pode então ser salvo como um arquivo Python como deploy.py
:
from pyinfra . operations import apt
apt . packages (
name = "Ensure iftop is installed" ,
packages = [ 'iftop' ],
update = True ,
_sudo = True ,
)
Os hosts também podem ser salvos em um arquivo, por exemplo inventory.py
:
targets = [ "@docker/ubuntu" , "my-test-server.net" ]
E executados juntos:
pyinfra inventory.py deploy.py
Agora você conhece os blocos de construção do pyinfra! Ao combinar inventário, operações e código Python, você pode implantar qualquer coisa.
Consulte os guias de introdução ou utilização mais detalhados. Veja como usar inventário e dados, argumentos globais e CLI ou confira os exemplos documentados.