Pyinfra - Infraestrutura em grande escala
pyinfra automatiza a infraestrutura super rápido em grande escala, execução de comandos ad-hoc, implantação de serviços, gerenciamento de configuração e muito mais
Por que pyinfra? Os recursos de design incluem:
🚀 Execução super rápida em milhares de hosts com desempenho previsível.
🚨 Depuração instantânea com saída stdin/stdout/stderr em tempo real ( -vvv).
🔄 Operações idempotentes que permitem diferenças e --dryexecuções antes de executar qualquer alteração.
📦 Extensível com qualquer pacote Python configurado e escrito em Python padrão.
💻 Execução sem agente em hosts SSH/Docker/subprocess/WinRM.
🔌 Integrado com Docker, Terraform, Vagrant/Mech e Ansible pronto para uso.
Começo rápido
Instale o pyinfra com pipx(recomendado) ou pip:
pipx install pyinfra
Agora você pode executar comandos em hosts via SSH:
pyinfra my-server.net exec -- echo "hello world"
Ou execute no Docker, na máquina local e em 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.
Melhores informações em: