Freedom251 › Configuration Management Tools
cdist

What cdist is
cdist is an open-source configuration management system that uses shell scripts and cdist types to describe the desired state of computers. It is positioned as an alternative to Ansible, Chef or Puppet. The project says type results are idempotent, so outcomes do not depend on the order in which types are called. cdist uses a push model: source computers connect to targets over SSH and apply configuration, without a central server. A target needs a POSIX-compatible shell and SSH server; it does not need an agent or 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 and parallel execution. Types provide the extension mechanism and are kept separate from the core. Installation is documented from Git or as a Python package through pip. The project lists Linux distributions, BSD systems, Mac OS X and XenServer among supported systems. Manuals are provided in HTML and man-page formats, and community help is available through Matrix and IRC. cdist is free, with no paid plans or usage limits stated.
Who it suits
cdist may suit administrators who want to configure remote computers through a push-based, agentless system. The project describes use in environments ranging from small deployments to enterprise-grade environments.
What it does well
- Free and open source.
- Targets need no agent or extra open port.
- Push model requires no central server.
- Supports parallel execution.
- Manuals are available in HTML and man-page formats.
What to know first
- Source hosts need Python 3.5 or later.
- Target hosts need a POSIX-compatible shell and SSH server.
- No free trial is listed.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| cdist | No paid plans or usage limits stated | Free |
As cdi.st lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the cdist website.
- Choose Git installation or install the Python package with pip install cdist.
- Prepare a source host with a POSIX-like shell, Python 3.5 or later, and an SSH client.
- Prepare each target host with a POSIX-compatible shell and an SSH server.
- Write shell scripts and define target state with cdist types.
- Connect from the source host to target hosts over SSH to apply configuration.
cdist is a free, open-source configuration management tool for administrators who want to manage remote systems from a shell-based workflow. Its strongest case is a lean push model over SSH, without an agent or central server; that same shell-first design will not suit every team.
Overview
With cdist, one or more source computers connect to target hosts and apply configuration. Targets need a POSIX-compatible shell and an SSH server, but no agent, extra open port, or connection back to the source. This keeps the managed-host requirements modest and avoids a central server, while placing the operational responsibility on the source computer, which needs a POSIX-like shell, Python 3.5 or later, and an SSH client.
Users write shell scripts and define desired state through cdist types. The project says type results are idempotent and do not depend on the order in which types are called. That is useful for repeatable configuration, although teams should be comfortable expressing their work in shell scripts rather than expecting a different configuration interface.
Key features
- Types and extensibility: Types are the extension mechanism, separate from the core. Standard types provide a starting point, and manuals cover community-maintained contrib types. This separation supports extending configuration without making the core the only place to add functionality.
- Parallel execution: cdist lists parallel execution among its core features, which can help when applying configuration across multiple targets.
- SSH transport: SSH handles remote communication, and the push model means targets do not need to initiate a connection back to the source. That suits environments where a small target footprint and no inbound path to the source are priorities.
- Installation and source verification: Installation is documented from Git or as a Python package with pip install cdist. The installation guide also explains how to verify signed source archives with GPG and provides a signing public key.
Pricing
cdist is free and open source. The cdist plan costs nothing, with no paid plans or usage limits stated. That makes it a straightforward option for teams that want configuration management without a software charge; commercial support can be requested from ungleich, but no paid product tier is described.
Platforms
cdist is agentless and supports Linux and macOS, as well as self-hosted use. Its documented systems include Alpine Linux, Archlinux, CentOS, Debian, Devuan, Fedora, Gentoo, Redhat, Ubuntu, FreeBSD, NetBSD, OpenBSD, Mac OS X, and XenServer. The breadth across Linux distributions, BSD systems, and Mac OS X is useful for mixed environments, provided source and target machines meet the shell, Python, and SSH requirements.
Who it's for
cdist is a good fit for administrators who prefer shell scripts, want to push configuration over SSH, and value having no agent or central server. The project describes use in environments from small deployments to enterprise-grade settings, so its model is not limited to a particular scale. It is less suitable for teams that do not want a shell-based workflow or whose source systems cannot meet the Python and SSH-client requirements.
Documentation is available as HTML manuals and man pages, including material for community-maintained contrib types. Community help is offered through Matrix and IRC, with commercial support available by request from ungleich. Git is documented as a way to obtain cdist, rather than as part of a broader integrations catalog.
Pros and cons
Pros
- Low target overhead: A POSIX-compatible shell and SSH server are enough; targets need neither an agent nor an additional open port.
- Simple deployment architecture: Push over SSH avoids a central server and prevents targets from needing to call back to the source.
- Repeatable configuration: Idempotent types that are independent of call order support consistent application.
- No software cost: The open-source plan is free, with no usage limits stated.
Cons
- Shell-centric configuration: Scripts and types make cdist a particular fit for teams comfortable working in a POSIX-shell model.
- Source prerequisites: The machine running cdist needs Python 3.5 or later, a POSIX-like shell, and an SSH client, so the lightweight target requirements do not eliminate source-side setup.
- Support is community-first: Matrix and IRC provide community help; commercial support must be requested from ungleich.
Alternatives
Consider other configuration management tools if cdist's shell-and-SSH approach is not the workflow you want. AWS Systems Manager State Manager is another free option with Linux, macOS, web, and Windows platforms; its plan notes that limits may apply.
CFEngine is worth comparing if you want a freemium alternative with a free trial and a Community Edition described as supporting Linux under GNU GPL with community support. Rudder is another freemium, free-plan option with a free trial and source code that can be downloaded and modified under its open-source licenses.
Salt is a free alternative whose open-source plan uses the Apache 2.0 license. config.XO may suit a reader seeking a managed free tier, but its Free plan is capped at one workspace, one admin user, one cloud connection, one hypervisor, three managed systems, and one API key.
Google Cloud VM Manager is a freemium alternative with a free tier and a charge of $0.003 per hour per VM with an active OS Config agent after that tier. OpenVox is free community-maintained software for agent/server or standalone use. pyinfra is another free option, licensed under MIT and requiring Python 3.10 or later.
Verdict
Choose cdist if you want free configuration management built around shell scripts, idempotent types, and SSH push, with minimal requirements on target hosts. Its main advantage is that lean, agentless architecture; look elsewhere if your team wants to avoid shell-based configuration or prefers a different operating model.
Verdict
cdist provides a push-based configuration model built around SSH, shell scripts and types. Check the source and target requirements against the systems you plan to manage.
Questions
How much does cdist cost?
The listed plan is free. The pricing model is free and the pricing note says open source.
Is cdist open source?
Yes. cdist is listed as open source.
What platforms does cdist support?
Its listed platforms are Linux, macOS, and self-hosted. The supported systems list includes Linux distributions, BSD systems, Mac OS X, and XenServer.
Does cdist require an agent on target hosts?
No. A target host needs a POSIX-compatible shell and an SSH server; the maker says it does not need an agent or an extra open port.
How is cdist installed?
The maker documents installation from Git or as a Python package using pip install cdist.
What support is available?
Community help is available through a Matrix room and an IRC channel. Commercial support can be requested from ungleich.
Facts from cdist's own pages
- Architecture
- cdist uses push mode, needs no central server, and can be run from any computer. · cdi.st, 8 Oct 2026
- Audience
- The maker says cdist is used in environments ranging from small deployments to enterprise grade environments. · cdi.st, 8 Oct 2026
- Configuration
- Users configure cdist with shell scripts and define target state through cdist types. · cdi.st, 8 Oct 2026
- Core features
- The maker lists a small core, standard types, parallel execution, and no central server among cdist’s features. · cdi.st, 8 Oct 2026
- Deployment model
- cdist uses a push model in which one or more source computers connect to target hosts and apply configuration. · cdi.st, 8 Oct 2026
- Documentation
- The project provides manuals in HTML and man-page formats, including documentation for community-maintained contrib types. · cdi.st, 8 Oct 2026
- Extensibility
- Types are cdist’s extension mechanism, and type and core are kept separate. · cdi.st, 8 Oct 2026
- 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. · cdi.st, 8 Oct 2026
- Idempotency
- The site says cdist types make configuration results idempotent. · cdi.st, 8 Oct 2026
- Installation
- cdist can be installed from Git or as a Python package using pip install cdist. · cdi.st, 8 Oct 2026
- Integrations
- The documentation describes SSH for remote communication and Git for obtaining cdist; it does not list a separate integrations catalog. · cdi.st, 8 Oct 2026
- Intended users
- The site describes cdist as used in environments ranging from small to enterprise grade. · cdi.st, 8 Oct 2026
- 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. · cdi.st, 8 Oct 2026
- Purpose
- cdist is a configuration management system positioned as an alternative to Ansible, Chef, or Puppet. · cdi.st, 8 Oct 2026
- Remote requirements
- Target hosts need only a POSIX-like shell and an SSH server. · cdi.st, 8 Oct 2026
- 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. · cdi.st, 8 Oct 2026
- Source verification
- The installation guide describes verifying signed source archives with GPG and provides a signing public key. · cdi.st, 8 Oct 2026
- Support
- The maker offers community help through a Matrix room and an IRC channel, and says commercial support can be requested from ungleich. · cdi.st, 8 Oct 2026
- Supported systems
- The maker’s supported operating systems list includes Linux distributions and BSD systems, as well as Mac OS X and XenServer. · cdi.st, 8 Oct 2026
- 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. · cdi.st, 8 Oct 2026
- 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. · cdi.st, 8 Oct 2026
Where cdist stands on Freedom251
- Configuration Management Tools#7 of 26