Configuration management, rewritten in Rust.
Ansible's accessibility with Rust's performance. Drop-in playbook compatibility, async execution, and connection pooling. No Python required.
Verified Benchmarks
5 LXC hosts on Proxmox, 10 runs averaged. Dec 2025. Reproducible via rustible bench --suite comparison.
(copy, template, permissions)
(mixed workload)
(sequential tasks)
(all scenarios)
Why Rustible
Type-checked configs
Compile-time validation catches misconfigurations before they reach production. Clear, actionable error messages.
Same YAML syntax
Identical playbook format to Ansible. Existing playbooks work without modification. Zero learning curve.
Compiled binary
Native Rust binary with async SSH connection pooling, batch processing, and multi-level caching. No Python interpreter overhead.
Parallel by default
Async task execution across hosts using work-stealing schedulers and dependency-aware DAG processing.
AES-256-GCM vault
Built-in vault encryption for secrets. Pure Rust SSH via russh—no C dependency attack surface.
Jinja2 compatible
Full Jinja2 template support via minijinja. Filters, tests, and macros all work as expected.
SSH, Docker, K8s
SSH (russh) with jump host and agent forwarding, local execution, Docker via Bollard, and Kubernetes pods via kube-rs.
Python module compat
Unsupported modules automatically fall back to Ansible's Python execution engine via AnsiballZ.
Built-in Module Library
Core
Files
Packages
System
Security
Docker
Cloud (feature-gated)
Kubernetes (feature-gated)
HPC (feature-gated)
Up and Running in Minutes
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
hosts: webservers
become: true
tasks:
- name: Install nginx
package:
name: nginx
state: present
- name: Start nginx
service:
name: nginx
state: started
enabled: true