update readme

Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
Nico Schottelius 2011-03-04 10:58:26 +01:00
parent 054cb7e611
commit f227f1bba2

View file

@ -1,5 +1,7 @@
[[!meta title="cdist - configuration management"]] [[!meta title="cdist - configuration management"]]
[[!toc levels=2]]
## Introduction ## Introduction
cdist configures your system and is similar to cdist configures your system and is similar to
@ -11,21 +13,20 @@ and [puppet](http://www.puppetlabs.com/), but
it ticks differently: it ticks differently:
* cdist sticks completly to the KISS (keep it simple and stupid) paradigma * cdist sticks completly to the KISS (keep it simple and stupid) paradigma
* cdist's core is very small (currently around 400 lines of code) * cdist's core is very small (< 1k lines of code)
* There is only one type to extend cdist called ***type***. * There is only one type to extend cdist called ***type***.
* One main development target: ***It must be incredible easy to add new types.***
* cdist is UNIX * cdist is UNIX
* It reuses existing tools like cat, find, mv, ... * It reuses existing tools like cat, find, mv, ...
* cdist's documentation is bundled as manpages * cdist's documentation is bundled as manpages
* cdist is written in POSIX shell * cdist is written in POSIX shell
* No special requirements like high level interpreters needed on server or target * No special requirements like high level interpreters needed on server or target
MAIN AIM: It MUST be incredible easy/dumb to add new types.
### Architecture ### Architecture
* Push mode (server pushes configuration) * Push mode (server pushes configuration)
* Pull mode (client triggers configuration) * Pull mode planned (client triggers configuration)
* User defines configuration in shell scripts (called ***manifests***) * User defines configuration in shell scripts (called ***manifests***)
* Cdist generates internal configuration (cconfig style) and afterwards applies configuration * Cdist generates internal configuration (cconfig style) and afterwards applies configuration
@ -56,34 +57,47 @@ but is not. Or: The reason why I began to write cdist.
### Server ### Server
* A posix like shell * A posix like shell
* SSH-Client (for push architecture) * SSH-Client
* SSH-Server (for pull architecture)
### Client ### Client ("target host")
* A posix like shell * A posix like shell
* SSH-Client (for pull architecture) * SSH-Server
* SSH-Server (for push architecture)
## Installation
Cdist stable always in master ## Getting cdist
* Create a new unpriviliged user (probably "cdist") You can clone cdist from git, which gives you the advantage of having
* Become that user, execute the following code: a version control in place for development of your own stuff as well.
git clone git://git.schottelius.org/cdist There are at least two branches available:
cd cdist
export PATH=$PATH:$(pwd -P)/bin
That's it. * 1.0: stable branch of version 1.0
* next: preparing next cdist version
Operation on the server is run as "cdist" user. Other branches may be available as well for features or bugfixes, but they
Operation on the client is run as "root" user. may vanish at any point.
## Update
git pull && make install ### Installation
To install cdist, execute the following commands:
git clone git://git.schottelius.org/cdist
cd cdist
export PATH=$PATH:$(pwd -P)/bin
### Update
As the stable branch always contains the stable code, you can upgrade
cdist using
git pull
If there are any incompatibilities, at least the minor version (1.0 -> 1.1)
will change and thus a git pull will never break your cdist installation
(in theory).
## Support ## Support
@ -96,7 +110,3 @@ You can join the development ***IRC channel***
Bug reports, questions, patches, etc. should be send to the Bug reports, questions, patches, etc. should be send to the
[cdist mailing list](http://l.schottelius.org/mailman/listinfo/cdist). [cdist mailing list](http://l.schottelius.org/mailman/listinfo/cdist).
## Commercial Support
To be done.