cdist update

This commit is contained in:
Nico Schottelius 2011-03-04 09:32:01 +01:00
parent d3a635584f
commit d7db44b134

View file

@ -13,12 +13,14 @@ 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 (currently around 400 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
### Architecture ### Architecture
* Push mode (server pushes configuration) * Push mode (server pushes configuration)
@ -26,31 +28,74 @@ it ticks differently:
* 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
### Features
Stuff that should probably be included in every configuration management,
but is not. Or: The reason why I began to write cdist.
* Speed
* Elegant code
* Clean design
* Good documentation (man pages)
* Meaningful error messages
* No surprise factor
* Consistency in behaviour, naming and documentation
* Easy integration nacked installations
* Simple and well-known DSL: posix shell
* It is very easy to
* extend cdist
* debug cdist-core and cdist-types
* Focus on reuse of existing functionality
* ssh
* sh
* find, rm, ...
## Requirements ## Requirements
### 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)
## How to get cdist
## Getting cdist
You can clone cdist from git, which gives you the advantage of having
a version control in place for development of your own stuff as well.
There are at least two branches available:
* 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 git clone git://git.schottelius.org/cdist
cd cdist
export PATH=$PATH:$(pwd -P)/bin
## How to install cdist
make install ### Update
## How to use cdist As the stable branch always contains the stable code, you can upgrade
cdist using
man cdist 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