forked from ungleich-public/cdist
		
	Merge branch 'master' of git://git.schottelius.org/cdist
This commit is contained in:
		
				commit
				
					
						f4d3c1d23e
					
				
			
		
					 13 changed files with 183 additions and 8 deletions
				
			
		|  | @ -165,7 +165,8 @@ Yes, I'm actually eating my own dogfood and currently managing | |||
|  * [kerberos (mit)](http://web.mit.edu/kerberos/) (authentication) | ||||
|  * [ircd-hybrid](http://www.ircd-hybrid.org/) (chat) | ||||
|  * [stunnel](http://stunnel.mirt.net/) (SSL tunnel) | ||||
|  * [mercurial-server](http://www.lshift.net/mercurial-server.html) | ||||
| 
 | ||||
| with cdist on a total of **3** production servers of the | ||||
| with cdist on a total of **4** production servers of the | ||||
| [Systems Group](http://www.systems.ethz.ch) at the | ||||
| [ETH Zurich](http://www.ethz.ch). | ||||
|  |  | |||
|  | @ -67,4 +67,4 @@ cdist-dir push "$__cdist_target_host" "$__cdist_out_object_dir" \ | |||
| # And finally - execute the code | ||||
| cdist-code-run-all            "$__cdist_target_host" | ||||
| 
 | ||||
| echo "Configuration successfully finished for $__cdist_target_host" | ||||
| echo "cdist $__cdist_version: success on $__cdist_target_host" | ||||
|  |  | |||
|  | @ -109,6 +109,15 @@ esac | |||
| 
 | ||||
| # Mode settings | ||||
| if [ -f "$__object/parameter/mode" ]; then | ||||
|    mode="$(cat "$__object/parameters/mode")" | ||||
|    echo chmod \"$mode\" \"$destination\" | ||||
|    echo chmod \"$(cat "$__object/parameter/mode")\" \"$destination\" | ||||
| fi | ||||
| 
 | ||||
| # Group | ||||
| if [ -f "$__object/parameter/group" ]; then | ||||
|    echo chgrp \"$(cat "$__object/parameter/group")\" \"$destination\" | ||||
| fi | ||||
| 
 | ||||
| # Owner | ||||
| if [ -f "$__object/parameter/owner" ]; then | ||||
|    echo chown \"$(cat "$__object/parameter/owner")\" \"$destination\" | ||||
| fi | ||||
|  |  | |||
|  | @ -25,9 +25,15 @@ destination:: | |||
|    If supplied, use this as the destination on the target. Otherwise the | ||||
|    object_id is used. | ||||
| 
 | ||||
| group:: | ||||
|    Group to chgrp to. | ||||
| 
 | ||||
| mode:: | ||||
|    Unix permissions, suitable for chmod. | ||||
| 
 | ||||
| owner:: | ||||
|    User to chown to. | ||||
| 
 | ||||
| source:: | ||||
|    If supplied, copy this file from the host running cdist to the target. | ||||
|    If not supplied, an empty file or directory will be created. | ||||
|  | @ -45,6 +51,10 @@ __file cdist-marker --type file --destination /etc/cdist-configured | |||
| 
 | ||||
| # Use __file from another type | ||||
| __file /etc/issue --source "$__type/files/archlinux" --type file | ||||
| 
 | ||||
| # Supply some more settings | ||||
| __file /etc/shadow --source "$__type/files/shadow" --type file \ | ||||
|    --owner root --group shadow --mode 0640 | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| group | ||||
| mode | ||||
| owner | ||||
| source | ||||
| destination | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| cdist-type__issue(7) | ||||
| =================== | ||||
| ==================== | ||||
| Nico Schottelius <nico-cdist--@--schottelius.org> | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -33,7 +33,7 @@ EXAMPLES | |||
| __motd | ||||
| 
 | ||||
| # Supply source file from a different type | ||||
| __file --source "$__type/files/my-motd" | ||||
| __motd --source "$__type/files/my-motd" | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -19,8 +19,6 @@ | |||
| # | ||||
| # | ||||
| 
 | ||||
| destination=/etc/motd | ||||
| 
 | ||||
| # Select motd source | ||||
| if [ -f "$__object/parameter/source" ]; then | ||||
|    source="$(cat "$__object/parameter/source")" | ||||
|  | @ -28,4 +26,16 @@ else | |||
|    source="$__type/files/motd" | ||||
| fi | ||||
| 
 | ||||
| os=$(cat $__global/explorer/os) | ||||
| 
 | ||||
| 
 | ||||
| case "$os" in | ||||
|    debian|ubuntu) | ||||
|       destination=/etc/motd.tail | ||||
|    ;; | ||||
|    *) | ||||
|       destination=/etc/motd | ||||
|    ;; | ||||
| esac | ||||
| 
 | ||||
| __file "$destination" --source "$source" --type file | ||||
|  |  | |||
							
								
								
									
										53
									
								
								conf/type/__package_apt/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								conf/type/__package_apt/man.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| cdist-type__package_apt(7) | ||||
| ========================== | ||||
| Nico Schottelius <nico-cdist--@--schottelius.org> | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
| ---- | ||||
| cdist-type__package_apt - Manage packages with apt-get | ||||
| 
 | ||||
| 
 | ||||
| DESCRIPTION | ||||
| ----------- | ||||
| apt-get is usually used on Debian and variants (like Ubuntu) to | ||||
| manage packages. | ||||
| 
 | ||||
| 
 | ||||
| REQUIRED PARAMETERS | ||||
| ------------------- | ||||
| state:: | ||||
|    Either "installed" or "deinstalled". | ||||
| 
 | ||||
| 
 | ||||
| OPTIONAL PARAMETERS | ||||
| ------------------- | ||||
| name:: | ||||
|    If supplied, use the name and not the object id as the package name. | ||||
| 
 | ||||
| 
 | ||||
| EXAMPLES | ||||
| -------- | ||||
| 
 | ||||
| -------------------------------------------------------------------------------- | ||||
| # Ensure zsh in installed | ||||
| __package_apt zsh --state installed | ||||
| 
 | ||||
| # In case you only want *a* webserver, but don't care which one | ||||
| __package_apt webserver --state installed --name nginx | ||||
| 
 | ||||
| # Remove obsolete package | ||||
| __package_apt puppet --state deinstalled | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
| -------- | ||||
| - cdist-type(7) | ||||
| - cdist-type__package(7) | ||||
| 
 | ||||
| 
 | ||||
| COPYING | ||||
| ------- | ||||
| Copyright \(C) 2011 Nico Schottelius. Free use of this software is | ||||
| granted under the terms of the GNU General Public License version 3 (GPLv3). | ||||
							
								
								
									
										53
									
								
								conf/type/__package_pacman/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								conf/type/__package_pacman/man.text
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| cdist-type__package_pacman(7) | ||||
| ============================= | ||||
| Nico Schottelius <nico-cdist--@--schottelius.org> | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
| ---- | ||||
| cdist-type__package_pacman - Manage packages with pacman | ||||
| 
 | ||||
| 
 | ||||
| DESCRIPTION | ||||
| ----------- | ||||
| Pacman is usually used on the Archlinux distribution to manage | ||||
| packages. | ||||
| 
 | ||||
| 
 | ||||
| REQUIRED PARAMETERS | ||||
| ------------------- | ||||
| state:: | ||||
|    Either "installed" or "deinstalled". | ||||
| 
 | ||||
| 
 | ||||
| OPTIONAL PARAMETERS | ||||
| ------------------- | ||||
| name:: | ||||
|    If supplied, use the name and not the object id as the package name. | ||||
| 
 | ||||
| 
 | ||||
| EXAMPLES | ||||
| -------- | ||||
| 
 | ||||
| -------------------------------------------------------------------------------- | ||||
| # Ensure zsh in installed | ||||
| __package_pacman zsh --state installed | ||||
| 
 | ||||
| # If you don't want to follow pythonX packages, but always use python | ||||
| __package_pacman python --state installed --name python2 | ||||
| 
 | ||||
| # Remove obsolete package | ||||
| __package_pacman puppet --state deinstalled | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
| -------- | ||||
| - cdist-type(7) | ||||
| - cdist-type__package(7) | ||||
| 
 | ||||
| 
 | ||||
| COPYING | ||||
| ------- | ||||
| Copyright \(C) 2011 Nico Schottelius. Free use of this software is | ||||
| granted under the terms of the GNU General Public License version 3 (GPLv3). | ||||
|  | @ -2,6 +2,8 @@ | |||
| 	* New type __motd | ||||
| 	* New type __addifnosuchline | ||||
| 	* Document type __issue | ||||
| 	* Document type __package_pacman | ||||
| 	* New parameter for __file: --owner and --group | ||||
| 
 | ||||
| 1.0.3: 2011-03-11 | ||||
| 	* Update regexp used for sane characters | ||||
|  |  | |||
							
								
								
									
										27
									
								
								doc/dev/logs/2011-03-15
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								doc/dev/logs/2011-03-15
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| Steven, Nico | ||||
| 
 | ||||
| How to handle dependencies: | ||||
| 
 | ||||
| 1) Add --require parameter for all types | ||||
|    - Special handling in cdist-type-emulator | ||||
|    + Everything on one line | ||||
| 
 | ||||
| 2) Add __require type | ||||
|    + No change in core | ||||
|    - Type influences core | ||||
|    - Additional line | ||||
|    - Core needs to know about requirements | ||||
| 
 | ||||
| 3) cdist-require as a seperate executable | ||||
|    + No change in cdist-type-emulator | ||||
|    - new behaviour | ||||
|    - first time cdist-xxx dependency in types | ||||
| 
 | ||||
| 4) require="" environment variable for cdist-type-emulator | ||||
|    + on one line / same context | ||||
|    + special handling is ok for special case | ||||
|    + doesn't touch parameters (i.e. type still has full control) | ||||
| 
 | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| Result: Use version 4. | ||||
|  | @ -179,6 +179,14 @@ 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 should create an object of the specific type. | ||||
| 
 | ||||
| If your type wants to save temporay data, that may be used by other types | ||||
| later on (for instance __file), you can save them in the subdirectory | ||||
| "files" below $__object (but you must create it yourself). cdist will not touch | ||||
| this directory. | ||||
| 
 | ||||
| If your type contains static files, it's also recommened to place them in | ||||
| a folder named "files" within the type (again, because cdist guarantees to | ||||
| never ever touch this folder). | ||||
| 
 | ||||
| HOW TO INCLUDE A TYPE INTO UPSTREAM CDIST | ||||
| ----------------------------------------- | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue