2. FeaturesΒΆ

But cdist ticks differently, here is the feature set that makes it unique:

Simplicity

There is only one type to extend cdist called type

Design
  • Type and core cleanly separated

  • Sticks completely to the KISS (keep it simple and stupid) paradigm

  • Meaningful error messages - do not lose time debugging error messages

  • Consistency in behaviour, naming and documentation

  • No surprise factor: Only do what is obviously clear, no magic

  • Define target state, do not focus on methods or scripts

  • Push architecture: Instantly apply your changes

Small core

cdist's core is very small - less code, less bugs

Fast development

Focus on straightforwardness of type creation is a main development objective Batteries included: A lot of requirements can be solved using standard types

Modern Programming Language

cdist is written in Python

Requirements, Scalability

No central server needed, cdist operates in push mode and can be run from any computer

Requirements, Scalability, Upgrade

cdist only needs to be updated on the master, not on the target hosts

Requirements, Security

Uses well-know SSH as transport protocol

Requirements, Simplicity

Requires only shell and SSH server on the target

UNIX

Reuse of existing tools like cat, find, mv, ...

UNIX, familiar environment, documentation

Is available as manpages and HTML

UNIX, simplicity, familiar environment

cdist is configured in POSIX shell