cdist
cdist is a free, open-source configuration management system for applying a defined state to computers.
What cdist is
cdist is a free, open-source configuration management system for applying a defined state to computers. Configuration uses shell scripts and cdist types, which also serve as the system’s extension mechanism. The project says results from types are idempotent, so their outcome does not depend on the order in which they run. cdist uses a push model: source computers connect to target hosts over SSH and apply configuration, without requiring targets to connect back. A target needs a POSIX-compatible shell and SSH server; it does not need an agent or an extra open port. The source needs a POSIX-like shell, Python 3.5 or later, and an SSH client. Listed features include a small core, standard types, parallel execution, and operation without a central server. cdist can be installed from Git or as a Python package with pip. Documented systems include Linux distributions, BSD systems, Mac OS X, and XenServer. Manuals are provided in HTML and man-page formats. Community help is available through Matrix and IRC, and commercial support can be requested from ungleich.
Good
- Free and open source.
- Pushes configuration over SSH.
- Targets need no agent or extra open port.
- No central server is required.
- Provides HTML manuals and man pages.
Watch out
- Source requires Python 3.5 or later.
- Targets require a POSIX-compatible shell and SSH server.
- No free trial is listed.
Who it suits
cdist may suit administrators who want to manage hosts through shell scripts and SSH without installing target-side agents. The source and target requirements should fit the systems involved.
Verdict
cdist’s push-based approach and limited target requirements may fit teams seeking agentless configuration management. Review the source and target prerequisites before adopting it.
Plans and prices
From cdist's own pricing page, checked 8 Oct 2001.
| Plan | Price | What it gives you |
|---|---|---|
| cdist | Free | No paid plans or usage limits stated |
The facts
Each one read from cdist's own pages, with the date it was checked.
What it does
- Architecture
- cdist uses push mode, needs no central server, and can be run from any computer.checked 8 Oct 2001
- Audience
- The maker says cdist is used in environments ranging from small deployments to enterprise grade environments.checked 8 Oct 2001
- Configuration
- Users configure cdist with shell scripts and define target state through cdist types.checked 8 Oct 2001
- Core features
- The maker lists a small core, standard types, parallel execution, and no central server among cdist’s features.checked 8 Oct 2001
- Deployment model
- cdist uses a push model in which one or more source computers connect to target hosts and apply configuration.checked 8 Oct 2001
- Documentation
- The project provides manuals in HTML and man-page formats, including documentation for community-maintained contrib types.checked 8 Oct 2001
- Extensibility
- Types are cdist’s extension mechanism, and type and core are kept separate.checked 8 Oct 2001
- Idempotence
- The maker says results from cdist types are idempotent, so their outcome does not depend on the order in which the types are called.checked 8 Oct 2001
- Idempotency
- The site says cdist types make configuration results idempotent.checked 8 Oct 2001
- Installation
- cdist can be installed from Git or as a Python package using pip install cdist.checked 8 Oct 2001
- Integrations
- The documentation describes SSH for remote communication and Git for obtaining cdist; it does not list a separate integrations catalog.checked 8 Oct 2001
- Intended users
- The site describes cdist as used in environments ranging from small to enterprise grade.checked 8 Oct 2001
- Operating systems
- The documentation lists Linux distributions, FreeBSD, NetBSD, OpenBSD, Mac OS X, and XenServer among systems cdist was tested or known to run on.checked 8 Oct 2001
- Purpose
- cdist is a configuration management system positioned as an alternative to Ansible, Chef, or Puppet.checked 8 Oct 2001
- Remote requirements
- Target hosts need only a POSIX-like shell and an SSH server.checked 8 Oct 2001
- Source requirements
- The source host needs a POSIX-like shell, Python 3.5 or later, and an SSH client; Sphinx is needed to build documentation.checked 8 Oct 2001
- Source verification
- The installation guide describes verifying signed source archives with GPG and provides a signing public key.checked 8 Oct 2001
- Support
- The maker offers community help through a Matrix room and an IRC channel, and says commercial support can be requested from ungleich.checked 8 Oct 2001
- Supported systems
- The maker’s supported operating systems list includes Linux distributions and BSD systems, as well as Mac OS X and XenServer.checked 8 Oct 2001
- Target requirements
- A target host needs a POSIX-compatible shell and an SSH server; cdist says it does not require an agent or an extra open port.checked 8 Oct 2001
- Transport and security
- cdist uses SSH as its transport protocol, and its push model means target hosts do not need to connect back to the source host.checked 8 Oct 2001
Alternatives to cdist
- 1

Puppet
Free planOpen sourceWebAPILinuxmacOS8.3From $120 a month - 2

Rudder
Free planOpen sourceWebAPILinuxSelf-hosted8.2From $3.33 a month - 3

CFEngine
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 4

Uyuni
Free planOpen sourceWebAPILinuxSelf-hosted7.4Free plan - 5

Google Cloud VM Manager
Free planWebAPILinuxWindows7.1Free plan - 6

Salt
Free planAPILinuxmacOSSelf-hosted7.0Free plan
