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…
	
	Add table
		Add a link
		
	
		Reference in a new issue