forked from ungleich-public/cdist
		
	
		
			
	
	
		
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								## What do I need [from puppet?]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Abstraction of package managers
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								I don't want to care about apt, rpm, yum, pacman, etc. I just
							 | 
						||
| 
								 | 
							
								want to ensure, some package exists or does not exist.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Common tasks already done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   - [LIBRARY] All the helper types like 
							 | 
						||
| 
								 | 
							
								      - file
							 | 
						||
| 
								 | 
							
								      - ssh_keys
							 | 
						||
| 
								 | 
							
								      - package
							 | 
						||
| 
								 | 
							
								      - service
							 | 
						||
| 
								 | 
							
								      - user
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### PORTABILITY
							 | 
						||
| 
								 | 
							
								   - [PORTABILITY] clients for every unix
							 | 
						||
| 
								 | 
							
								      - mostly ruby + facter in puppet
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Other
							 | 
						||
| 
								 | 
							
								   - Modules: Nice to put stuff together
							 | 
						||
| 
								 | 
							
								      - and reuse
							 | 
						||
| 
								 | 
							
								   - [CONDITIONS] facter is cool
							 | 
						||
| 
								 | 
							
								   - the DSL
							 | 
						||
| 
								 | 
							
								      - with many bugs
							 | 
						||
| 
								 | 
							
								   - templates
							 | 
						||
| 
								 | 
							
								   - Client/Server approach is nice to have
							 | 
						||
| 
								 | 
							
								      - Clients only get the part of the documentation, that's
							 | 
						||
| 
								 | 
							
								        relevant to them
							 | 
						||
| 
								 | 
							
								   - detect impossible/unsafe things:
							 | 
						||
| 
								 | 
							
								      - creating a file twice
							 | 
						||
| 
								 | 
							
								      - installing and removing a package
							 | 
						||
| 
								 | 
							
								      - and report location of occurence
							 | 
						||
| 
								 | 
							
								         - parse afterwards?
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--------------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								what is puppet? [FOR ME]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   A configuration deployment assistant,
							 | 
						||
| 
								 | 
							
								   a DSL that allows you define the objectives.
							 | 
						||
| 
								 | 
							
								   A webserver with fileserver capabilities.
							 | 
						||
| 
								 | 
							
								   A client based scheduled polling infrastructure.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--------------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								What do I miss from puppet?
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   - speed
							 | 
						||
| 
								 | 
							
								   - elegance
							 | 
						||
| 
								 | 
							
								   - clean design
							 | 
						||
| 
								 | 
							
								   - documentation
							 | 
						||
| 
								 | 
							
								   - the "no surprise" factor
							 | 
						||
| 
								 | 
							
								   - easy to use "data memory" (i.e. external ressources)
							 | 
						||
| 
								 | 
							
								   - easy integration into installation process
							 | 
						||
| 
								 | 
							
								      - copy identity to master
							 | 
						||
| 
								 | 
							
								   - multi master setups
							 | 
						||
| 
								 | 
							
								   - development configurations / tests
							 | 
						||
| 
								 | 
							
								   - editing of configuration files
							 | 
						||
| 
								 | 
							
								      - similar to cfengine
							 | 
						||
| 
								 | 
							
								   - replace bug squasher with bug avoidance
							 | 
						||
| 
								 | 
							
								      - qmail did not need one either
							 | 
						||
| 
								 | 
							
								   - push infrastructure
							 | 
						||
| 
								 | 
							
								   - real / meaningful error messages
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |