What Is Deptool?
Deptool is a declarative configuration deployment tool built by Ruud van Asseldonk for Unix hosts managed over SSH. Deptool is one of the best DevOps Automation tools for small cluster operators, and it can render a deployment plan in milliseconds while applying a two-host change in under a second, based on the project example. It is aimed at clusters in the 1–50 host range and operators in the 1–5 person range who want fast, auditable deploys without a large orchestration stack.
Deptool is not trying to be a general-purpose CM platform. It focuses on config files, service restarts, and explicit deployment phases, which makes it a good fit for infra where the operator already knows each host and wants predictable control.
Quick Overview
| Attribute | Details |
|---|---|
| Type | DevOps Automation |
| Best For | small cluster operators and small ops teams |
| Language/Stack | Rust, Cargo, SSH, Unix hosts, systemd |
| License | Apache 2.0 |
| GitHub Stars | N/A |
| Pricing | Open-Source |
| Last Release | N/A |
Deptool sits in the same practical space as lightweight infra automation, but it is much narrower than full CM suites. If you want adjacent tooling for broader deployment workflows, compare it with djevops or browse all DevOps Automation tools.
Who Should Use Deptool?
- Small platform teams running a handful of Linux or BSD-style servers that need repeatable config pushes with explicit host-by-host control.
- Indie hackers operating personal or client infra who want a compact deployer instead of a sprawling control plane.
- Operators of service fleets that rely on SSH, systemd, and config files rather than image-based immutable infrastructure.
- Teams that value rollback discipline and want the deployment plan visible before a single host is touched.
Not ideal for:
- Large enterprise estates with hundreds of machines, complex inventories, and approval workflows that require central policy engines.
- Teams that need broad package and OS management across heterogeneous platforms, not just config deployment.
- Organizations that require a hard stability promise and a formal release cadence with compatibility guarantees.
Key Features of Deptool
- Declarative deployment plans — Deptool computes the delta between desired state and live state before applying anything. That gives you a per-host action list, which is far easier to audit than opaque shell scripts.
- SSH-first execution model — It manages Unix hosts reachable over SSH, so there is no mandatory agent installed on every node. That keeps the surface area small and fits environments where SSH is already the control plane.
- Sub-second apply path for small clusters — The author explicitly reports milliseconds for plan generation and under a second for the sample two-host rollout. For a small fleet, that means operator feedback is nearly immediate.
- Auto-rollback on failure — The deployment flow can roll back if a change fails mid-flight. That matters when a config update restarts a service like
nsd.serviceand you want the cluster to recover instead of ending in a half-applied state. - Explicit service orchestration — The example shows file changes paired with unit restarts, which is the right model for config-driven daemons. In practice, that makes it useful for DNS, reverse proxies, and other services where file changes and daemon reloads must stay in sync.
- Rust implementation — Deptool is written in Rust and built with Cargo. That usually means a single compiled binary, predictable runtime behavior, and a testable codebase that is easy to typecheck locally.
- Local-safe test workflow — The repository states that
cargo checkandcargo testonly operate on temp directories and do not invokesystemdorssh. That makes development safer than infra tools that require a live target environment just to validate code.
Deptool vs Alternatives
| Tool | Best For | Key Differentiator | Pricing |
|---|---|---|---|
| Deptool | Small SSH-managed Unix clusters | Fast declarative deploy plans with rollback for a tiny operator footprint | Open-Source |
| Ansible | General-purpose automation across many systems | Massive module ecosystem and broad community support | Open-Source |
| NixOps | Nix-based infrastructure state management | Reproducible system state tied to Nix expressions | Open-Source |
| SaltStack | Remote execution and fleet orchestration | Event-driven control plane and higher-scale automation patterns | Open-Source |
Pick Ansible when you need a general automation layer with mature modules for packages, cloud APIs, and app provisioning. Pick NixOps when your infrastructure already revolves around Nix and you want declarative system state rather than a host-by-host deployer.
Pick SaltStack when you need larger-scale orchestration, event handling, or a stronger remote-execution model than a compact deploy tool provides. Pick Deptool when the deployment problem is narrower: a few Unix servers, config files, service restarts, and a desire to see the whole plan before applying it.
How Deptool Works
Deptool follows a plan-then-apply model. The tool reads the desired configuration, compares it against the target hosts, computes a per-host deployment plan, and then executes the minimal set of changes over SSH.
The core design choice is to keep the abstraction close to the operating system. Instead of abstracting away hosts into a giant policy graph, Deptool treats each machine as a concrete Unix node with files, units, and deployment phases, which keeps failure modes legible and makes rollback behavior easier to reason about.
git clone https://github.com/ruuda/deptool
cd deptool
cargo build --release
./target/release/deptool deploy
The first two commands fetch the Rust project and build a production binary with Cargo. The final command runs a deployment, which should show a plan before asking for confirmation, then apply changes host by host and report success or rollback behavior.
Deptool’s operational model is especially good for config directories and service-managed software like DNS servers, reverse proxies, and small internal services. If you already use toolchains that emphasize explicit state transitions, this fits naturally beside other automation layers and can be paired with narrower workflows from djevops when you want more scripting around the same fleet.
Pros and Cons of Deptool
Pros:
- Very fast for small clusters — The project demonstrates millisecond planning and sub-second execution for a two-host deploy.
- Declarative by default — You get an explicit plan instead of an opaque imperative script that mutates machines blindly.
- SSH-only footprint — No always-on agent is required on every node, which reduces operational drag.
- Rollback-aware workflow — Failed deploys can revert instead of leaving partially updated state behind.
- Rust codebase — The project benefits from Rust’s strong compile-time checks and a straightforward Cargo-based workflow.
- Safe local testing —
cargo checkandcargo testare designed to run without touching live infrastructure.
Cons:
- No stability promise — The author calls it a hobby project, so you should not assume enterprise-grade release discipline.
- Small-fleet focus — Deptool is explicitly designed for roughly 1–50 hosts, not massive distributed environments.
- Unix-only operational model — It targets Unix hosts over SSH, so it is not the right fit for mixed OS fleets.
- Limited public release process — The repository notes that prebuilt binaries and compatibility guarantees are not yet a formal focus.
- Narrower scope than larger CM tools — If you need package orchestration, cloud provisioning, and inventory management in one place, Deptool is too focused.
Getting Started with Deptool
git clone https://github.com/ruuda/deptool
cd deptool
cargo check
cargo test
cargo build --release
./target/release/deptool deploy
This sequence validates the code locally, builds the binary, and runs the deploy command against your configured hosts. Before using Deptool on real systems, you need the directory layout and deployment configuration from the manual, plus working SSH access to every host in the target cluster.
If you are packaging Deptool for production, the repository says a static binary is preferred and points to the build docs. The expected first run is a plan preview followed by confirmation, which is exactly what you want when changes can restart live services.
Verdict
Deptool is the strongest option for small SSH-managed Unix clusters when you want fast, declarative config deploys with rollback and minimal moving parts. Its biggest strength is the tiny operational footprint and plan-before-apply flow; its main caveat is the hobby-project status and narrow fleet size target. Use it when speed and clarity matter more than platform breadth.



