awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Fizzadar avatar

Fizzadar/pyinfra

0
View on GitHub↗
5,793 Stars·517 Forks·Python·MIT·4 Aufrufepyinfra.com↗

Pyinfra

pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across thousands of hosts through a pluggable connector architecture that supports SSH, Docker, and local execution.

The framework distinguishes itself through a Python-based inventory system that defines host groups and associated data in code, enabling flexible and reusable infrastructure targeting. It provides idempotent state diffing that applies only necessary changes, along with ad-hoc command execution, operation retry with configurable conditions, and conditional operation gating that runs operations only when preceding operations actually executed changes. The tool supports multi-connector targeting, allowing the same operations and inventory system to manage SSH servers, Docker containers, and local machines, and includes deploy packaging for distributing reusable infrastructure automation as versioned Python packages.

Beyond its core automation engine, pyinfra offers comprehensive configuration management capabilities including idempotent management of directories, files, system groups, Python virtual environments, and server-level settings like hostname and timezone. It includes package management for system packages, Python, Node.js, Ruby, and PHP extensions using native package managers, along with service management for systemd units, Docker containers, and Git repositories. Security and access control operations cover firewall rules, privilege escalation, SSL certificates, and user accounts, while data storage and sync features handle file uploads, downloads, synchronization, and MySQL/PostgreSQL database management.

The tool provides a command-line interface for ad-hoc operation and shell execution, inventory definition, JSON output, and creation of reusable, version-controlled deployment scripts. Configuration and extensibility features include custom operations and facts written in Python, data priority overrides, multi-file deployment composition, environment variable forwarding, and integration with external tools like Docker, Terraform, and Vagrant through built-in connectors.

Features

  • Agentless Server - Provides an agentless automation platform that connects to SSH servers, Docker containers, and local machines without pre-installed software.
  • Agentless Management - Manages any machine with shell access without requiring pre-installed agents or software on the target.
  • Libraries - A Python library for writing declarative, version-controlled deployment scripts that describe desired system state and apply only necessary changes.
  • Infrastructure Connectors - Supports SSH, Docker, and local execution through interchangeable connectors for targeting diverse environments.
  • Per-Host Data Attachments - Groups hosts and attaches custom data to control how operations apply across different environments.
  • Target State Declarations - Describes desired end state of hosts and applies only needed changes via idempotent diffing.
  • Server Configuration Automations - Defines and applies desired server state using Python code with idempotent operations that only make necessary changes.
  • Declarative Configuration Managers - Synchronizes system state based on a declarative configuration file, applying only needed changes idempotently.
  • Multi-Host Parallel Executions - Runs operations concurrently across thousands of hosts with configurable parallelism.
  • Idempotent - Provides idempotent file uploads from the control machine to target hosts.
  • Multi-Transport Operation Executions - Runs Python-defined operations against target machines over SSH, Docker, or local execution.
  • Python-to-Shell Compilations - Translates Python declarative operations into optimized shell commands for remote execution.
  • System Package Managers - Installs, updates, and removes operating system software packages using native package managers.
  • Multi-Host SSH Orchestrations - Scales operations from one server to thousands of hosts simultaneously via SSH orchestration.
  • Automation Inventory Management - Defines groups of target servers, containers, or local machines in a Python file and applies operations collectively.
  • CLI Inventory Definitions - Specifies target hosts via command-line arguments, Python inventory files, or connectors for local, SSH, or Docker execution.
  • CLI Infrastructure Controllers - Controls hosts, operations, and inventory directly from the command line for quick tasks or full deployments.
  • Remote Shell Command Executions - Executes arbitrary shell commands on remote hosts in real-time with streaming output.
  • Idempotent Operations - Checks the current state of a target before making changes, enabling dry runs and diffs to preview modifications.
  • Managed File State Editors - Provides idempotent file creation, modification, and deletion on target hosts.
  • Pluggable Connector Targets - Targets diverse execution environments via pluggable connectors for SSH, Docker, and local execution.
  • Deployment Packages - Packages inventories and operations into Python files that can be version-controlled and run repeatedly.
  • Idempotent Package Installations - Installs packages using the system package manager, only acting when the package is not already present.
  • SSH-Based Remote Execution - Connects to remote hosts via SSH without requiring pre-installed agents or software.
  • File Synchronization - Provides idempotent file synchronization to ensure target files match source content.
  • Infrastructure as Code - Declaratively manages deployment settings and environment state using Python scripts.
  • Agentless Configuration Managers - Manages remote machine configurations by executing commands over SSH without requiring local software agents.
  • Multi-Environment Connectors - Targets SSH servers, Docker containers, and local machines interchangeably from a single automation framework.
  • Multi-Host SSH Runners - Manages thousands of servers in parallel with SSH-based, agentless execution and real-time output.
  • Python-Based Host Inventories - Defines host groups and data in Python files for flexible infrastructure targeting.
  • Remote Command Execution - Runs Python scripts over SSH to install packages, manage files, and execute commands on remote servers.
  • Multi-Host Remote Executions - Executes operations concurrently across hundreds or thousands of hosts with predictable performance.
  • Declarative Infrastructure Synchronizers - Parses declarative configuration and synchronizes it to target infrastructure, applying only necessary changes.
  • Service Managers - Provides idempotent start, stop, restart, and enable operations for system services.
  • Server Configuration Management - Provides idempotent configuration of server-level settings like hostname and timezone.
  • Systemd Service Configurations - Creates systemd unit files to manage server processes as background services.
  • Infrastructure State Management - Applies declarative Python code to ensure servers reach a desired configuration state.
  • Privilege Escalation Executors - Runs commands or file operations under an elevated user via sudo, su, doas, or dzdo.
  • SSH Automation Frameworks - Automates server configuration and management over SSH with Python-based declarative operations and ad-hoc commands.
  • Multi-Transport Infrastructure Targets - Targets SSH servers, Docker containers, and local machines with the same operation definitions.
  • SSH Infrastructure Managers - Connects to remote machines over SSH to execute commands and apply configuration changes without agents.
  • System State Idempotency - Compares desired state against current host state to apply only necessary changes.
  • Infrastructure Idempotency Testing - Checks the current state of each host before making changes, so repeated runs only apply missing or out-of-date modifications.
  • Infrastructure Automation Frameworks - Turns declarative Python code into shell commands to manage servers, containers, and local machines.
  • Multi-Transport Host Connections - Connects to remote machines over SSH, Docker, or local execution from within automation code.
  • Host Groupings - Assigns hosts to named groups in Python files so operations target multiple machines at once.
  • Host Fact Databases - Reads immutable host attributes like OS family or architecture to conditionally control which operations run.
  • Remote Declarative Operations - Defines infrastructure state in Python code and lets the tool determine the necessary shell commands to achieve that state.
  • System Fact Collection - Collects real-time hardware and software configuration data from remote hosts for conditional automation.
  • Infrastructure Automation Frameworks - An agentless framework that turns declarative Python code into idempotent shell commands for managing servers, containers, and local machines.
  • External Tool Integrations - Connects to Docker, Terraform, and Vagrant through built-in connectors for flexible infrastructure management.
  • Infrastructure Libraries - Extensible Python library for writing reusable, version-controlled deployment scripts with custom operations and facts.
  • Conditional Execution Gates - Provides conditional operation gating based on runtime callable conditions.
  • Idempotent Database Managers - Provides idempotent creation, modification, and removal of PostgreSQL databases and roles.
  • Transport Connector Configurations - Sets connection parameters like SSH user and key through inventory data keys instead of CLI flags.
  • Idempotent Database Managers - Provides idempotent creation, modification, and removal of MySQL databases and roles.
  • Python Ecosystem Leverages - Leverages the entire Python ecosystem to add custom logic and integrations within deployment scripts.
  • Python Package Managers - Manages Python project dependencies, virtual environments, and package installations.
  • Infrastructure Operation Extensions - Writes new operations in Python to handle infrastructure tasks not covered by built-in modules.
  • Dry Run Simulations - Shows what operations would change before applying them, using diffs and idempotent checks.
  • Operation Error Continuations - Continues execution despite operation failures, optionally proceeding with remaining commands after an error.
  • External Automation Integrations - Connects to infrastructure managed by Docker, Terraform, Vagrant, and other tools through dedicated connectors.
  • Idempotent Repository Managers - Provides idempotent Git repository cloning and configuration as part of infrastructure automation.
  • Deploy-Wide Operation Defaults - Configures deploy-wide settings like sudo or connection timeouts that apply to all subsequent operations.
  • JSON Output Formats - Emits structured JSON output for inventory, facts, dry runs, and deploy results for tool integration.
  • Python Environment Managers - Provides idempotent creation, modification, and removal of Python virtual environments.
  • Package Installations - Installs, upgrades, or removes Ruby gems with idempotent state checking.
  • Shell Command Execution - Runs arbitrary shell commands on target hosts without checking current state.
  • Remote Command Environments - Ships configurable execution environment parameters for remote shell commands.
  • Built-in Operation Executions - Applies built-in operations like package install or service control directly from the command line.
  • Socket Unit Configurations - Configures and controls systemd socket units for on-demand service activation.
  • Deploy File Inclusions - Ships a mechanism to break deployments into reusable Python files that can be imported and called.
  • Priority-Chained Data Overrides - Resolves data keys by checking CLI overrides, then host data, then group data, then the all group.
  • Managed File Content Editors - Provides idempotent operations to ensure files contain or omit specific text lines.
  • Docker Infrastructure Managers - Connects to Docker containers as infrastructure targets for idempotent configuration management.
  • Dry-Run Modes - Previews operation effects and diffs without making actual changes to target systems.
  • Group Variable Files - Stores shared configuration variables in per-group Python files with a default file for all hosts.
  • Function-Based Inventory Loaders - Generates host inventories and group structures by calling user-defined Python functions.
  • Package Installations - Installs, upgrades, or removes PHP extensions using package managers with idempotent state checking.
  • Multi-File Deployment Compositions - Splits deployments across multiple files by including other scripts and passing parameterized data between them.
  • Idempotent File Downloads - Provides idempotent file downloads from remote hosts to the control machine.
  • Directory Management - Provides idempotent directory creation, modification, and deletion on target hosts.
  • Directory Creation Utilities - Provides idempotent directory creation with specified permissions and ownership on target hosts.
  • Data-Driven Global Defaults - Provides default values for global execution arguments like sudo via host data, updatable at runtime.
  • Operation-Wide Global Arguments - Provides default values for operation arguments like sudo via host data, updatable at runtime.
  • Package Installations - Installs, upgrades, or removes Node.js packages using npm with idempotent state checking.
  • Host Attribute-Based Conditions - Gathers host attributes at runtime to conditionally control which operations run.
  • SSL Certificate Managers - Automates the generation and maintenance of security certificates for domains.
  • User Account Management - Manages user credentials, authentication states, and profile-specific security settings.
  • Operation Change-Based Gates - Runs an operation only when a preceding operation actually executed changes, using callable conditions.
  • Idempotent Operation Retries - Automatically retries idempotent operations on failure with configurable count, delay, and conditions.
  • Mount Unit Configurations - Configures and controls systemd mount units for managing filesystem mount points.
  • Target Unit Configurations - Configures and controls systemd target units for grouping services and other units.
  • Firewall Rule Configurations - Manages network access control lists and firewall rules to allow or block specific traffic.
  • Global Execution Controls - Applies shared execution parameters like sudo, serial execution, or environment variables to all operations and facts.
  • Custom Fact Collectors - Writes new fact collectors in Python to retrieve system data not provided by built-in facts.
  • System Group Lifecycle Managers - Provides idempotent creation, modification, and removal of system user groups.
  • Infrastructure and Deployment - Automation tool for command execution and service deployment.
  • Infrastrukturmanagement - Tool für Ad-hoc-Befehlsausführung und Service-Deployment.

Star-Verlauf

Star-Verlauf für fizzadar/pyinfraStar-Verlauf für fizzadar/pyinfra

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Pyinfra

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Pyinfra.
  • pyinfra-dev/pyinfraAvatar von pyinfra-dev

    pyinfra-dev/pyinfra

    5,779Auf GitHub ansehen↗

    pyinfra is a Python-based infrastructure automation framework that turns Python code into shell commands for managing servers, Docker containers, and local machines. It operates as a declarative, idempotent deployment tool, applying desired system states by comparing target configurations against current states and making only the necessary changes. The framework provides a connector-based transport abstraction that unifies SSH, Docker, and local execution behind a common interface, with a parallel execution engine that manages concurrent operations across hosts. The tool distinguishes itself

    Pythoncloud-managementconfiguration-managementhigh-performance
    Auf GitHub ansehen↗5,779
  • gruntwork-io/terratestAvatar von gruntwork-io

    gruntwork-io/terratest

    7,879Auf GitHub ansehen↗

    Terratest is a Go library and testing framework designed for automating the deployment, validation, and destruction of infrastructure stacks. It serves as a cloud resource verification tool that interacts with provider APIs and executes remote shell commands to ensure infrastructure definitions are correctly configured. The framework provides specialized support for validating Terraform modules and Kubernetes deployments, including the verification of container orchestration manifests and Helm charts. It distinguishes itself through the use of Docker container utilities for script execution a

    Goawsdevopsdocker
    Auf GitHub ansehen↗7,879
  • appleboy/ssh-actionAvatar von appleboy

    appleboy/ssh-action

    6,113Auf GitHub ansehen↗

    This is a GitHub Action that executes shell commands on remote servers over SSH as part of a CI/CD pipeline. It supports authentication using passwords, private keys, or private keys with passphrases, and can verify the SHA256 fingerprint of the remote host's public key before connecting to prevent man-in-the-middle attacks. The action can connect to multiple remote hosts in a single workflow step, optionally executing commands synchronously across all of them. It also supports routing SSH connections through an intermediate jump host to reach target servers in restricted networks. Environmen

    Shell
    Auf GitHub ansehen↗6,113
  • mbecker20/komodoAvatar von mbecker20

    mbecker20/komodo

    11,400Auf GitHub ansehen↗

    Komodo is a self-hosted deployment manager and agentless software distributor designed to build application binaries and distribute them across a fleet of remote servers. It functions as a remote deployment orchestrator that manages the build and release process from a centralized control point. The system distinguishes itself by using a programmatic deployment pipeline, employing script logic rather than static configuration files to coordinate build and distribution sequences. It utilizes SSH for remote execution and binary synchronization, allowing the controller to push updates to target

    Rust
    Auf GitHub ansehen↗11,400
Alle 30 Alternativen zu Pyinfra anzeigen→

Häufig gestellte Fragen

Was macht fizzadar/pyinfra?

pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control…

Was sind die Hauptfunktionen von fizzadar/pyinfra?

Die Hauptfunktionen von fizzadar/pyinfra sind: Agentless Server, Agentless Management, Libraries, Infrastructure Connectors, Per-Host Data Attachments, Target State Declarations, Server Configuration Automations, Declarative Configuration Managers.

Welche Open-Source-Alternativen gibt es zu fizzadar/pyinfra?

Open-Source-Alternativen zu fizzadar/pyinfra sind unter anderem: pyinfra-dev/pyinfra — pyinfra is a Python-based infrastructure automation framework that turns Python code into shell commands for managing… gruntwork-io/terratest — Terratest is a Go library and testing framework designed for automating the deployment, validation, and destruction of… appleboy/ssh-action — This is a GitHub Action that executes shell commands on remote servers over SSH as part of a CI/CD pipeline. It… shipitjs/shipit — Shipit is a Node.js deployment tool and remote task orchestrator used for automating software deployments and… mbecker20/komodo — Komodo is a self-hosted deployment manager and agentless software distributor designed to build application binaries… linkedin/school-of-sre — This project is a comprehensive educational resource and curriculum focused on site reliability engineering,…