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,35 +57,48 @@ 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 * 1.0: stable branch of version 1.0
* next: preparing next cdist version
Other branches may be available as well for features or bugfixes, but they
may vanish at any point.
### 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).
That's it.
Operation on the server is run as "cdist" user.
Operation on the client is run as "root" user.
## Update
git pull && make install
## Support ## Support
### IRC ### IRC
@ -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.