cdist vs Rex
cdist
cdi.stRex
rexify.orgSide by side
| Figure | cdist | Rex |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Configuration Management Tools | 8.6 (#6) | 7.3 (#20) |
| Installation | cdist can be installed from Git or as a Python package using pip install cdist. | The recommended installation method is CPAN, and Rex is also distributed through operating-system package managers and from source. |
| Integrations | The project publishes a separate cdist-contrib repository for additional types not included in core cdist. | The guides include managing OpenWrt devices and Amazon EC2 instances. |
| Purpose | cdist is a configuration management system positioned as an alternative to Ansible, Chef, or Puppet. | Rex is an automation framework for managing local machines and remote machines over SSH. |
Plans
In their own words
cdist
cdist is a free, open-source configuration management system that applies a defined state to computers through shell scripts and cdist types. It is positioned as an alternative to Ansible, Chef, and Puppet. Types provide the extension mechanism, and the project says their results are idempotent, so outcomes do not depend on call order. cdist uses push mode: source computers connect to targets over SSH and apply configuration, without requiring a central server or an agent on the target. A target needs a POSIX-compatible shell and SSH server, while the source needs a POSIX-like shell, Python 3.5 or later, and an SSH client. The project lists a small core, standard types, and parallel execution. Installation is documented through Git or pip. Supported systems include Linux distributions, BSD systems, Mac OS X, and XenServer. Manuals are available in HTML and man-page formats, with community help through Matrix and IRC.
Rex
Rex is a free, open-source automation framework for managing local computers and remote machines over SSH. It runs self-hosted and agentless on Linux and Windows, with support also listed for RHEL/CentOS, Fedora, OpenWRT, BSDs, and Solaris. Projects keep inventory, environments, authentication details, and tasks in a Rexfile. You can combine local or remote execution, push or pull management, and imperative or declarative styles. Tasks can install packages, upload configuration files, start services, and trigger actions when files change. Rex uses a DSL compatible with Perl syntax and can be extended with Perl modules or custom code. Authentication documentation covers passwords, SSH keys, passphrases, external credential sources, and ssh-agent. The control host needs Perl and dependencies; managed hosts need Perl 5 and a valid SSH account. Installation is recommended through CPAN, with package-manager and source options. Apache 2.0 licensing applies to Rex and its parts.