forked from ungleich-public/cdist
		
	cleanup
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								964654860c
							
						
					
				
			
			
				commit
				
					
						ba80f3aea4
					
				
			
		
					 1 changed files with 6 additions and 55 deletions
				
			
		| 
						 | 
					@ -1,70 +1,21 @@
 | 
				
			||||||
cdist-types(7)
 | 
					cdist-type-manifest(7)
 | 
				
			||||||
===============
 | 
					======================
 | 
				
			||||||
Nico Schottelius <nico-cdist--@--schottelius.org>
 | 
					Nico Schottelius <nico-cdist--@--schottelius.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NAME
 | 
					NAME
 | 
				
			||||||
----
 | 
					----
 | 
				
			||||||
cdist-types - Functionality bundled
 | 
					cdist-type-manifest - Manifest of a type
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DESCRIPTION
 | 
					DESCRIPTION
 | 
				
			||||||
-----------
 | 
					-----------
 | 
				
			||||||
A cdist type describes some kind of functionality, starting from simple stuff
 | 
					CWD   = object directory
 | 
				
			||||||
like copying files until complex user auth/ldap/ kerberos infrastructure
 | 
					ARGV  = target host, basedir
 | 
				
			||||||
designs. The name of every type is prefixed with two underscores (__), because
 | 
					ENV   = 
 | 
				
			||||||
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
 | 
					SEE ALSO
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
cdist-config-layout(7), cdist-type-manifest(7), cdist-type-explorer(7),
 | 
					 | 
				
			||||||
cdist-type-gencode(7)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPYING
 | 
					COPYING
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue