Alpha — MIT Licensed

Configuration management, rewritten in Rust.

Ansible's accessibility with Rust's performance. Drop-in playbook compatibility, async execution, and connection pooling. No Python required.

GitHub Get Started $ cargo install --git https://github.com/adolago/rustible.git
scroll

Verified Benchmarks

5 LXC hosts on Proxmox, 10 runs averaged. Dec 2025. Reproducible via rustible bench --suite comparison.

File operations
(copy, template, permissions)
Ansible — 3,124 ms
Rustible — 497 ms 6.3x
Comprehensive
(mixed workload)
Ansible — 2,942 ms
Rustible — 1,485 ms 2.0x
Multi-task
(sequential tasks)
Ansible — 4,937 ms
Rustible — 2,978 ms 1.7x
Overall
(all scenarios)
Ansible — 13,245 ms total
Rustible — 7,414 ms total 1.8x

Why Rustible

Safety

Type-checked configs

Compile-time validation catches misconfigurations before they reach production. Clear, actionable error messages.

Compatibility

Same YAML syntax

Identical playbook format to Ansible. Existing playbooks work without modification. Zero learning curve.

Performance

Compiled binary

Native Rust binary with async SSH connection pooling, batch processing, and multi-level caching. No Python interpreter overhead.

Concurrency

Parallel by default

Async task execution across hosts using work-stealing schedulers and dependency-aware DAG processing.

Security

AES-256-GCM vault

Built-in vault encryption for secrets. Pure Rust SSH via russh—no C dependency attack surface.

Templating

Jinja2 compatible

Full Jinja2 template support via minijinja. Filters, tests, and macros all work as expected.

Connections

SSH, Docker, K8s

SSH (russh) with jump host and agent forwarding, local execution, Docker via Bollard, and Kubernetes pods via kube-rs.

Fallback

Python module compat

Unsupported modules automatically fall back to Ansible's Python execution engine via AnsiballZ.

Built-in Module Library

Core

command shell debug set_fact assert pause wait_for stat

Files

copy template file lineinfile blockinfile archive unarchive

Packages

package apt yum dnf pip

System

service systemd_unit user group cron hostname sysctl

Security

authorized_key known_hosts ufw firewalld

Docker

docker_container docker_image docker_network docker_volume docker_compose

Cloud (feature-gated)

aws_ec2 aws_s3 azure_vm gcp_compute

Kubernetes (feature-gated)

k8s_namespace k8s_deployment k8s_service k8s_configmap

HPC (feature-gated)

slurm_config nvidia_gpu mpi lustre_client

Up and Running in Minutes

terminal
# Install from source
git clone https://github.com/adolago/rustible.git
cd rustible && cargo install --path .

# Run a playbook
rustible run playbook.yml -i inventory.yml

# Dry run
rustible run playbook.yml --check

# Encrypt secrets
rustible vault encrypt secrets.yml
playbook.yml
- name: Configure web servers
  hosts: webservers
  become: true

  tasks:
    - name: Install nginx
      package:
        name: nginx
        state: present

    - name: Start nginx
      service:
        name: nginx
        state: started
        enabled: true