forked from ungleich-public/cdist
		
	
		
			
				
	
	
		
			86 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| cdist-design(7)
 | |
| ===============
 | |
| Nico Schottelius <nico-cdist--@--schottelius.org>
 | |
| 
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| cdist-design - Design ideas for cdist
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| 
 | |
| When using cdist with the push principle, the execution tree looks likes this:
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| % server
 | |
|    cdist-deploy-to(1)         # main tool for deployment
 | |
|       cdist-config(1)         # setup environment
 | |
|       cdist-build(1)          # coordinates build process / dummy otherwise
 | |
|          cdist-preprocess(1)  # fills up variables with content
 | |
|             cdist-explore(1)  % client # explores client configuration
 | |
|          cdist-compile(1)     # parses configuration,
 | |
|                               # creates internal state in cconfig format,
 | |
|                               # verifies configuration
 | |
|          cdist-link(1)        # uses cconfig output, creates executable
 | |
|       cdist-remote-exec(1)    # coordinates remote execution, dummy otherwise
 | |
|          cdist-transfer(1)    # transfer executable to client
 | |
|          cdist-execute(1)     % client # execute resulting executable
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| Operation on the server is run as "cdist" user.
 | |
| Operation on the client is run as "root" user.
 | |
| 
 | |
| When using cdist with the pull principle (configuration triggered by client):
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| % client
 | |
|    cdist-trigger(1) <server-hostname> # connects to server
 | |
|       cdist-deploy-to(1) <client-hostname> % server: see above
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| MERGE INTO ABOVE.....
 | |
| ## How cdist works
 | |
| 
 | |
| ### Exploring your system
 | |
| 
 | |
| cdist analyses the system to apply the configuration on and 
 | |
| selects the right backends. You can use ***cdist-explore*** to
 | |
| the results of the explore functions.
 | |
| 
 | |
| ### Applying the configuration
 | |
| 
 | |
| cdist looks for the configuration to apply on the local host
 | |
| and applies it using ***cdist-apply***.
 | |
| 
 | |
| ### Managing many hosts
 | |
| 
 | |
| Whereas ***cdist-apply*** manages one host, ***cdist-deploy***
 | |
| applies the configuration on enabled hosts.
 | |
| 
 | |
|    - version control via git
 | |
|    - file distribution via ssh
 | |
|    - authentication via ssh
 | |
| 
 | |
|    - dumb clients, similar to manifest compile in puppet
 | |
|          - clients just execute commands
 | |
|    - dependencies via make?
 | |
|       - how to ensure sigletons / conflicting definitions?
 | |
|          file { "/a": 
 | |
|             ensure => present,
 | |
|          file { "/a": 
 | |
|             ensure => absent,
 | |
|          =>=>>>>>>>>>>>>>>>> via cconfig
 | |
| 
 | |
| 
 | |
| SEE ALSO
 | |
| --------
 | |
| cdist(7), website: http://www.nico.schottelius.org/cdist/[]
 | |
| 
 | |
| 
 | |
| COPYING
 | |
| -------
 | |
| Copyright \(C) 2010-2011 Nico Schottelius. Free use of this software is
 | |
| granted under the terms of the GNU General Public License version 3 (GPLv3).
 | |
| 
 |