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

Keywords Description
Simplicity There is only one type to extend cdist called type
Design Type and core cleanly separated
Design Sticks completly to the KISS (keep it simple and stupid) paradigma
Design Meaningful error messages - do not lose time debugging error messages
Design Consistency in behaviour, naming and documentation
Design No surprise factor: Only do what is obviously clear, no magic
Design Define target state, do not focus on methods or scripts
Design 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
Fast development 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, familar environment, documentation Is available as manpages and HTML
UNIX, simplicity, familar environment cdist is configured in POSIX shell