forked from ungleich-public/cdist
		
	many more ideas for the config layout, many cleanups
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								e43e910012
							
						
					
				
			
			
				commit
				
					
						0ccb5ebcdb
					
				
			
		
					 1 changed files with 101 additions and 27 deletions
				
			
		| 
						 | 
					@ -1,33 +1,89 @@
 | 
				
			||||||
On the server:
 | 
					cdist-config-layout(7)
 | 
				
			||||||
 | 
					======================
 | 
				
			||||||
conf/manifests/init
 | 
					Nico Schottelius <nico-cdist--@--schottelius.org>
 | 
				
			||||||
   - the central entry point
 | 
					
 | 
				
			||||||
   - is a shell script
 | 
					
 | 
				
			||||||
   - defines mapping from types to hosts
 | 
					
 | 
				
			||||||
   -  will be called by cdist and the name
 | 
					NAME
 | 
				
			||||||
      will be available for tracking in
 | 
					----
 | 
				
			||||||
      cdist core functions
 | 
					cdist-config-layout - Usage of paths in cdist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
conf/manifests/* (all other)
 | 
					
 | 
				
			||||||
   - same function as above
 | 
					DESCRIPTION
 | 
				
			||||||
   - but won't be called by cdist
 | 
					-----------
 | 
				
			||||||
   - method to seperate configuration parts
 | 
					If not otherwise specified, all paths are relative to the configuration
 | 
				
			||||||
 | 
					directory, which is normally /etc/cdist (but can be changed using environment
 | 
				
			||||||
 | 
					variables, see cdist-environment(7)).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- manifests/init:
 | 
				
			||||||
 | 
					   This is the central entry point used by cdist-manifest-init(1).
 | 
				
			||||||
 | 
					   It is an executable (+x bit set) shell script that can use
 | 
				
			||||||
 | 
					   values for the explorers to decide which configuration to create
 | 
				
			||||||
 | 
					   for the specified target host.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   It should be primary used to define mapping from configurations to hosts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- manifests/*: All other files in this directory
 | 
				
			||||||
 | 
					   Cdist does not use them directly, but you can seperate
 | 
				
			||||||
 | 
					   configuration mappings, if you have a lot of code in the manifest/init
 | 
				
			||||||
 | 
					   file. This may also be very helpful to have different admins maintain
 | 
				
			||||||
 | 
					   different groups of hosts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- explorers/<name>
 | 
				
			||||||
 | 
					   Contains explorers to be run on the target hosts, see cdist-explorers(7).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- types/
 | 
				
			||||||
 | 
					   Contains all available types, which are used to provide
 | 
				
			||||||
 | 
					   some kind of functionality. See cdist-stages(7).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- types/<name>/init:
 | 
				
			||||||
 | 
					   Used to generate additional objects from a type.
 | 
				
			||||||
 | 
					   See cdist-stages(7), cdist-types(7).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- types/<name>/gencode:
 | 
				
			||||||
 | 
					   Used to generate code to be executed on the client.
 | 
				
			||||||
 | 
					   See cdist-types(7).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- cache/
 | 
				
			||||||
 | 
					   The cache contains results from previous runs, which may also
 | 
				
			||||||
 | 
					   be used in types to gather information about other hosts
 | 
				
			||||||
 | 
					   (like ssh-keys).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- cache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- tmpdir: Temporary storage
 | 
				
			||||||
 | 
					   A tempdir and a tempfile is provided by cdist-config(1), which
 | 
				
			||||||
 | 
					   will be removed when the scripts ends automatically.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- tmpdir/cache/: New cache
 | 
				
			||||||
 | 
					   This directory contains elements for the new cache of the host.
 | 
				
			||||||
 | 
					   If all stages are completed successfully, the new cache is used
 | 
				
			||||||
 | 
					   to replace the previous one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- tmpdir/explorers/: Output of explorers
 | 
				
			||||||
 | 
					   If the run was successful, the results are copied into the new cache.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- tmpdir/objects/: Objects created during run
 | 
				
			||||||
 | 
					   If the run was successful, the results are copied into the new cache.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AUTHOR
 | 
				
			||||||
 | 
					------
 | 
				
			||||||
 | 
					Nico Schottelius <mailto:nico-cdist--@--schottelius.org[]>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RESOURCES
 | 
				
			||||||
 | 
					---------
 | 
				
			||||||
 | 
					Main web site: 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).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
conf/types/<name>/
 | 
					 | 
				
			||||||
   - provide standard types
 | 
					 | 
				
			||||||
   - have required and optional arguments
 | 
					 | 
				
			||||||
   - are independent of hosts
 | 
					 | 
				
			||||||
   - may make use of other types to realise a new type
 | 
					 | 
				
			||||||
      - how to overwrite stuff?
 | 
					 | 
				
			||||||
      - overwrite in own tree?
 | 
					 | 
				
			||||||
         - needs knowledge of inherited provider
 | 
					 | 
				
			||||||
            - similar to current situation in puppet,
 | 
					 | 
				
			||||||
              but more like reusable defines
 | 
					 | 
				
			||||||
   - or may implement some functionality on their own
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
conf/explorers/<name>
 | 
					 | 
				
			||||||
   - explorers to be run on the target hosts
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Differences manifests vs. types
 | 
					Differences manifests vs. types
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,3 +93,21 @@ Differences manifests vs. types
 | 
				
			||||||
main purpose         map config to host      provide functionality
 | 
					main purpose         map config to host      provide functionality
 | 
				
			||||||
can change config    no (prevent conflicts)  yes (allow inheritance)
 | 
					can change config    no (prevent conflicts)  yes (allow inheritance)
 | 
				
			||||||
specificness         site specific           (globally) reusable
 | 
					specificness         site specific           (globally) reusable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					unsorted: cache / objects
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   - If cdist encounters type in manifest,
 | 
				
			||||||
 | 
					     a wrapper script is run, that creates a
 | 
				
			||||||
 | 
					     new entry in the cconfig database and adds
 | 
				
			||||||
 | 
					     attribute values. This defines a cconfig
 | 
				
			||||||
 | 
					     tree, that may look as follows:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      <hostname>/<type>/<id>/<parameters>:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      myhost/__file/cdist_bin/source
 | 
				
			||||||
 | 
					      myhost/__file/cdist_bin/destination
 | 
				
			||||||
 | 
					      ... 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue