add template for cdist-type-manifest.text
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								b7e778512d
							
						
					
				
			
			
				commit
				
					
						964654860c
					
				
			
		
					 1 changed files with 73 additions and 0 deletions
				
			
		
							
								
								
									
										73
									
								
								doc/man/cdist-type-manifest.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								doc/man/cdist-type-manifest.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,73 @@ | |||
| cdist-types(7) | ||||
| =============== | ||||
| Nico Schottelius <nico-cdist--@--schottelius.org> | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
| ---- | ||||
| cdist-types - Functionality bundled | ||||
| 
 | ||||
| 
 | ||||
| DESCRIPTION | ||||
| ----------- | ||||
| A cdist type describes some kind of functionality, starting from simple stuff | ||||
| like copying files until complex user auth/ldap/ kerberos infrastructure | ||||
| designs. The name of every type is prefixed with two underscores (__), because | ||||
| types will be executed and the two underscores prevent collisions with real | ||||
| binaries (like "file"). | ||||
| In general, types should be written independent of hosts (as in reusable | ||||
| code), but may be used implement functionality only needed on one host | ||||
| as well. | ||||
| It must be assumed that the clients are pretty dumb and thus do not have high | ||||
| level tools like ruby installed. If a type requires specific tools to be present | ||||
| on the target, there must be another type that provides this tool and the first | ||||
| type must create an object of the specific type. | ||||
| If the generated code fails on the client, it must print diagnostistic messages on | ||||
| stderr and exit non-zero, so the configuration is aborted. | ||||
| Types may make use of other types to realise a new type or may implement some | ||||
| functionality on their own. | ||||
| 
 | ||||
| Types may consist of  | ||||
| - a number of required and optional parameters they accept, | ||||
| - a manifest script that makes use of the parameters and may create other objects | ||||
| - explorers that explore type specific information on the target | ||||
| - a gencode script, that may generate code to be executed on the target | ||||
| 
 | ||||
| Every time a type is used, a new object is created of the specific type, | ||||
| with a type specific unique id that stores the parameters | ||||
| 
 | ||||
| 
 | ||||
| HOW TO WRITE A NEW TYPE (TODO) | ||||
| ------------------------------ | ||||
| Assume you want to create the new type named "coffee": | ||||
| 
 | ||||
| Create the directory /etc/cdist/types/coffee/ | ||||
| Create the file /etc/cdist/types/coffee/README containing a description of the  | ||||
| type. | ||||
| If your type supports attributes, create the directory /etc/cdist/types/coffee/ | ||||
| attributes. | ||||
| For each attribute, create the file | ||||
|    /etc/cdist/types/coffee/attributes/$attribute_name which contains | ||||
| 
 | ||||
|    a short description on the first line | ||||
|    then a blank line | ||||
|    then a long description (probably over several lines) | ||||
| 
 | ||||
| If you think your type may be useful for others, submit it for inclusion | ||||
| into cdist at cdist -- at -- l.schottelius.org. | ||||
| 
 | ||||
| Create /etc/cdist/types/coffee/init which reads $configinput | ||||
| (either via cconfig or via environment) and outputs a block of | ||||
| shell code suitable for running on the client. | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
| -------- | ||||
| cdist-config-layout(7), cdist-type-manifest(7), cdist-type-explorer(7), | ||||
| cdist-type-gencode(7) | ||||
| 
 | ||||
| 
 | ||||
| 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). | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue