forked from ungleich-public/cdist
cleanup readme
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
afc16667f4
commit
c617dc0e8f
1 changed files with 21 additions and 44 deletions
65
README
65
README
|
@ -24,57 +24,34 @@ other configuration management systems like
|
||||||
[cfengine](http://www.cfengine.org/),
|
[cfengine](http://www.cfengine.org/),
|
||||||
[bcfg2](http://trac.mcs.anl.gov/projects/bcfg2),
|
[bcfg2](http://trac.mcs.anl.gov/projects/bcfg2),
|
||||||
[chef](http://wiki.opscode.com/display/chef/)
|
[chef](http://wiki.opscode.com/display/chef/)
|
||||||
and [puppet](http://www.puppetlabs.com/), but
|
and [puppet](http://www.puppetlabs.com/), but it ticks differently.
|
||||||
it ticks differently:
|
Here are some features that makes it unique:
|
||||||
|
|
||||||
* cdist sticks completly to the KISS (keep it simple and stupid) paradigma
|
[[!table data="""
|
||||||
* cdist's core is very small (< 1k lines of code)
|
Simplicity | There is only one type to extend cdist called ***type***
|
||||||
* There is only one type to extend cdist called ***type***.
|
Design | Type and core cleanly seperated
|
||||||
* One main development target: ***It must be incredible easy to add new types.***
|
Design | cdist sticks completly to the KISS (keep it simple and stupid) paradigma
|
||||||
* cdist is UNIX
|
Design | Meaningful error messages - do not lose time debugging error messages
|
||||||
* It reuses existing tools like cat, find, mv, ...
|
Design | Consistency in behaviour, naming and documentation
|
||||||
* cdist's documentation is bundled as manpages
|
Design | No surprise factor: Only do what is obviously clear, no magic
|
||||||
* cdist is written in POSIX shell
|
Design | Define target state, do not focus on methods or scripts
|
||||||
* No special requirements like high level interpreters needed on server or target
|
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
|
||||||
|
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 | cdist requires only SSH and a shell on the target
|
||||||
|
Requirements |
|
||||||
|
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 written in POSIX shell
|
||||||
|
UNIX, simplicity, familar environment | cdist is configured in POSIX shell
|
||||||
|
"""]]
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
The cdist documentation is included as manpages in the distribution.
|
The cdist documentation is included as manpages in the distribution.
|
||||||
You can [browse the documentation for the latest version online](man) as well.
|
You can [browse the documentation for the latest version online](man) as well.
|
||||||
|
|
||||||
### Architecture
|
|
||||||
|
|
||||||
* Push mode (server pushes configuration)
|
|
||||||
* User defines configuration in shell scripts (called ***manifests***)
|
|
||||||
* Generates internal configuration (cconfig style)
|
|
||||||
* Uses ***types*** to generate code be executed on the target
|
|
||||||
* And finally executes the code on the target / applies the configuration
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Elegant code and clean design
|
|
||||||
* Type and core cleanly seperated
|
|
||||||
* Small codebase in core
|
|
||||||
* Good documentation (man pages)
|
|
||||||
* Consistency in behaviour, naming and documentation
|
|
||||||
* Meaningful error messages
|
|
||||||
* Either standard error messages from tools or added description for clearification
|
|
||||||
* The no surprise factor
|
|
||||||
* No magic guessing of what the user wants
|
|
||||||
* Simple and well-known DSL
|
|
||||||
* Posix shell
|
|
||||||
* Easy integration into bare metal installations
|
|
||||||
* requires only ssh + sh
|
|
||||||
* Easy upgrade
|
|
||||||
* ***There is no need to update cdist on target hosts!***
|
|
||||||
* cdist only needs to be updated on the master server(s)
|
|
||||||
* Very easy to extend
|
|
||||||
* Can be done via types, which can be stacked on top of others
|
|
||||||
* Reuse of existing functionality
|
|
||||||
* sh, ssh, find, rm, mv, ...
|
|
||||||
* Very easy to debug
|
|
||||||
* Just add set -x in the scripts
|
|
||||||
|
|
||||||
### OS support
|
### OS support
|
||||||
|
|
||||||
cdist was tested or is know to run on at least
|
cdist was tested or is know to run on at least
|
||||||
|
|
Loading…
Reference in a new issue