[[!meta title="cdist - configuration management"]]

## Introduction

cdist configures your system and is similar to
other configuration management systems like
[cfengine](http://www.cfengine.org/),
[bcfg2](http://trac.mcs.anl.gov/projects/bcfg2),
[chef](http://wiki.opscode.com/display/chef/)
and [puppet](http://www.puppetlabs.com/), but
it ticks differently:

 * cdist sticks completly to the KISS (keep it simple and stupid) paradigma
  * cdist's core is very small (currently around 400 lines of code)
  * There is only one type to extend cdist called ***type***.
 * cdist is UNIX
  * It reuses existing tools like cat, find, mv, ...
  * cdist's documentation is bundled as manpages
 * cdist is written in POSIX shell
  * No special requirements like high level interpreters needed on server or target

### Architecture

 * Push mode (server pushes configuration)
 * Pull mode (client triggers configuration)
 * User defines configuration in shell scripts (called ***manifests***)
 * Cdist generates internal configuration (cconfig style) and afterwards applies configuration

## Requirements

### Server

 * A posix like shell
 * SSH-Client (for push architecture)
 * SSH-Server (for pull architecture)

### Client

 * A posix like shell
 * SSH-Client (for pull architecture)
 * SSH-Server (for push architecture)

## How to get cdist

    git clone git://git.schottelius.org/cdist

## How to install cdist

    make install

## How to use cdist

    man cdist

## Support

### IRC

You can join the development ***IRC channel***
[#cLinux on irc.freenode.org](irc://irc.freenode.org/#cLinux).

### Mailing list

Bug reports, questions, patches, etc. should be send to the
[cdist mailing list](http://l.schottelius.org/mailman/listinfo/cdist).