forked from ungleich-public/cdist
		
	Merge branch 'master' into install_integration
This commit is contained in:
		
				commit
				
					
						52a3db04d0
					
				
			
		
					 27 changed files with 74 additions and 64 deletions
				
			
		| 
						 | 
				
			
			@ -16,7 +16,8 @@ This cdist type allows manage ubuntu ppa repositories.
 | 
			
		|||
REQUIRED PARAMETERS
 | 
			
		||||
-------------------
 | 
			
		||||
state::
 | 
			
		||||
   The state the ppa should be in, either "present" or "absent".
 | 
			
		||||
   The state the ppa should be in, either 'present' or 'absent'.
 | 
			
		||||
   Defaults to 'present'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
OPTIONAL PARAMETERS
 | 
			
		||||
| 
						 | 
				
			
			@ -29,6 +30,8 @@ EXAMPLES
 | 
			
		|||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
# Enable a ppa repository
 | 
			
		||||
__apt_ppa ppa:sans-intern/missing-bits
 | 
			
		||||
# same as
 | 
			
		||||
__apt_ppa ppa:sans-intern/missing-bits --state present
 | 
			
		||||
 | 
			
		||||
# Disable a ppa repository
 | 
			
		||||
| 
						 | 
				
			
			@ -43,5 +46,5 @@ SEE ALSO
 | 
			
		|||
 | 
			
		||||
COPYING
 | 
			
		||||
-------
 | 
			
		||||
Copyright \(C) 2011 Steven Armstrong. Free use of this software is
 | 
			
		||||
Copyright \(C) 2011-2014 Steven Armstrong. Free use of this software is
 | 
			
		||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
			
		||||
# 2011-2014 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of cdist.
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			@ -20,9 +20,10 @@
 | 
			
		|||
 | 
			
		||||
name="$__object_id"
 | 
			
		||||
 | 
			
		||||
__package python-software-properties --state present
 | 
			
		||||
__package software-properties-common
 | 
			
		||||
__package python-software-properties
 | 
			
		||||
 | 
			
		||||
require="__package/python-software-properties" \
 | 
			
		||||
require="__package/software-properties-common __package/python-software-properties" \
 | 
			
		||||
   __file /usr/local/bin/remove-apt-repository \
 | 
			
		||||
   --source "$__type/files/remove-apt-repository" \
 | 
			
		||||
   --mode 0755
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								cdist/conf/type/__apt_ppa/parameter/default/state
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__apt_ppa/parameter/default/state
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
present
 | 
			
		||||
| 
						 | 
				
			
			@ -27,23 +27,11 @@ else
 | 
			
		|||
   shell=""
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/username" ]; then
 | 
			
		||||
   username="$(cat "$__object/parameter/username")"
 | 
			
		||||
else
 | 
			
		||||
   username="cdist"
 | 
			
		||||
fi
 | 
			
		||||
username="$(cat "$__object/parameter/username")"
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/branch" ]; then
 | 
			
		||||
   branch="$(cat "$__object/parameter/branch")"
 | 
			
		||||
else
 | 
			
		||||
   branch="master"
 | 
			
		||||
fi
 | 
			
		||||
branch="$(cat "$__object/parameter/branch")"
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/source" ]; then
 | 
			
		||||
   source="$(cat "$__object/parameter/source")"
 | 
			
		||||
else
 | 
			
		||||
   source="git://github.com/telmich/cdist.git"
 | 
			
		||||
fi
 | 
			
		||||
source="$(cat "$__object/parameter/source")"
 | 
			
		||||
 | 
			
		||||
# Currently hardcoded - if anyone cares, make a parameter
 | 
			
		||||
# out of it
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								cdist/conf/type/__cdist/parameter/default/branch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__cdist/parameter/default/branch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
master
 | 
			
		||||
							
								
								
									
										1
									
								
								cdist/conf/type/__cdist/parameter/default/source
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__cdist/parameter/default/source
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
git://github.com/telmich/cdist.git
 | 
			
		||||
							
								
								
									
										1
									
								
								cdist/conf/type/__cdist/parameter/default/username
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__cdist/parameter/default/username
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
cdist
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# 2011 Nico Schottelius (nico-cdist at schottelius.org)
 | 
			
		||||
# 2011-2014 Nico Schottelius (nico-cdist at schottelius.org)
 | 
			
		||||
#
 | 
			
		||||
# This file is part of cdist.
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			@ -21,6 +21,12 @@
 | 
			
		|||
# Setup selections
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
filename"$(cat "$__object/parameter/file")"
 | 
			
		||||
 | 
			
		||||
if [ "$filename" = "-" ]; then
 | 
			
		||||
    filename="$__object/stdin"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "debconf-set-selections << __file-eof"
 | 
			
		||||
cat "$(cat "$__object/parameter/file")"
 | 
			
		||||
cat "$(cat "$filename")"
 | 
			
		||||
echo "__file-eof"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ REQUIRED PARAMETERS
 | 
			
		|||
-------------------
 | 
			
		||||
file::
 | 
			
		||||
   Use the given filename as input for debconf-set-selections(1)
 | 
			
		||||
   If filename is "-", read from stdin.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
EXAMPLES
 | 
			
		||||
| 
						 | 
				
			
			@ -29,6 +30,10 @@ __debconf_set_selections nslcd --file /path/to/file
 | 
			
		|||
 | 
			
		||||
# Setup configuration for nslcd from another type
 | 
			
		||||
__debconf_set_selections nslcd --file "$__type/files/preseed/nslcd"
 | 
			
		||||
 | 
			
		||||
__debconf_set_selections nslcd --file - << eof
 | 
			
		||||
gitolite gitolite/gituser string git
 | 
			
		||||
eof
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,5 +46,5 @@ SEE ALSO
 | 
			
		|||
 | 
			
		||||
COPYING
 | 
			
		||||
-------
 | 
			
		||||
Copyright \(C) 2011-2013 Nico Schottelius. Free use of this software is
 | 
			
		||||
Copyright \(C) 2011-2014 Nico Schottelius. Free use of this software is
 | 
			
		||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@
 | 
			
		|||
#
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/jaildir" ]; then
 | 
			
		||||
   jaildir="$(cat "$__object/parameter/name")"
 | 
			
		||||
   jaildir="$(cat "$__object/parameter/jaildir")"
 | 
			
		||||
else
 | 
			
		||||
   jaildir="/usr/jail"
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ if [ -f "$__object/parameter/onboot" ]; then
 | 
			
		|||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/jaildir" ]; then
 | 
			
		||||
   jaildir="$(cat "$__object/parameter/name")"
 | 
			
		||||
   jaildir="$(cat "$__object/parameter/jaildir")"
 | 
			
		||||
else
 | 
			
		||||
   jaildir="/usr/jail"
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@ if [ ! "$os" = "freebsd" ]; then
 | 
			
		|||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/jaildir" ]; then
 | 
			
		||||
   jaildir="$(cat "$__object/parameter/name")"
 | 
			
		||||
   jaildir="$(cat "$__object/parameter/jaildir")"
 | 
			
		||||
else
 | 
			
		||||
   jaildir="/usr/jail"
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,8 +21,8 @@
 | 
			
		|||
 | 
			
		||||
key="$__object_id"
 | 
			
		||||
[ -f "$__object/parameter/key" ] && key="$(cat "$__object/parameter/key")"
 | 
			
		||||
state_should=present
 | 
			
		||||
[ -f "$__object/parameter/state" ] && state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
 | 
			
		||||
state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
 | 
			
		||||
file="$(cat "$__object/parameter/file")"
 | 
			
		||||
delimiter="$(cat "$__object/parameter/delimiter")"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,8 +19,7 @@
 | 
			
		|||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
state_should=present
 | 
			
		||||
[ -f "$__object/parameter/state" ] && state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
 | 
			
		||||
if [ "$state_should" = "present" -a ! -f "$__object/parameter/value" ]; then
 | 
			
		||||
   echo "Missing required parameter 'value'" >&2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								cdist/conf/type/__key_value/parameter/default/state
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__key_value/parameter/default/state
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
present
 | 
			
		||||
| 
						 | 
				
			
			@ -2,8 +2,7 @@
 | 
			
		|||
# State: absent is handled by manifest - we need only to do stuff if image is
 | 
			
		||||
# not existing and state != absent
 | 
			
		||||
#
 | 
			
		||||
state="present"
 | 
			
		||||
[ -f "$__object/parameter/state" ] && state="$(cat "$__object/parameter/state")"
 | 
			
		||||
state="$(cat "$__object/parameter/state")"
 | 
			
		||||
[ "$state" = "absent" ] && exit 0
 | 
			
		||||
 | 
			
		||||
exists="$(cat "$__object/explorer/exists")"
 | 
			
		||||
| 
						 | 
				
			
			@ -13,8 +12,7 @@ exists="$(cat "$__object/explorer/exists")"
 | 
			
		|||
# Still there? Create image
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
format=qcow2
 | 
			
		||||
[ -f "$__object/parameter/format" ] && format="$(cat "$__object/parameter/format")"
 | 
			
		||||
format="$(cat "$__object/parameter/format")"
 | 
			
		||||
size="$(cat "$__object/parameter/size")"
 | 
			
		||||
diskimage="/$__object_id"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,10 +2,8 @@
 | 
			
		|||
# Default settings
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
format=qcow2
 | 
			
		||||
state=present
 | 
			
		||||
[ -f "$__object/parameter/format" ] && format="$(cat "$__object/parameter/format")"
 | 
			
		||||
[ -f "$__object/parameter/state" ] && state="$(cat "$__object/parameter/state")"
 | 
			
		||||
format="$(cat "$__object/parameter/format")"
 | 
			
		||||
state="$(cat "$__object/parameter/state")"
 | 
			
		||||
 | 
			
		||||
diskimage="/$__object_id"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								cdist/conf/type/__qemu_img/parameter/default/format
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__qemu_img/parameter/default/format
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
qcow2
 | 
			
		||||
							
								
								
									
										1
									
								
								cdist/conf/type/__qemu_img/parameter/default/state
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__qemu_img/parameter/default/state
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
present
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +1,2 @@
 | 
			
		|||
format
 | 
			
		||||
state
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,11 +45,7 @@ else
 | 
			
		|||
   id="$__object_id"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/state" ]; then
 | 
			
		||||
   state="$(cat "$__object/parameter/state")"
 | 
			
		||||
else
 | 
			
		||||
   state="present"
 | 
			
		||||
fi
 | 
			
		||||
state="$(cat "$__object/parameter/state")"
 | 
			
		||||
 | 
			
		||||
repo_id="$(cat "$__object/explorer/repo_id")"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,17 +39,8 @@ else
 | 
			
		|||
   uri="$__object_id"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/state" ]; then
 | 
			
		||||
   state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
else
 | 
			
		||||
   state_should="present"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/type" ]; then
 | 
			
		||||
   stype="$(cat "$__object/parameter/type")"
 | 
			
		||||
else
 | 
			
		||||
   stype="ris"
 | 
			
		||||
fi
 | 
			
		||||
state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
stype="$(cat "$__object/parameter/type")"
 | 
			
		||||
 | 
			
		||||
exp_uri="$(cat "$__object/explorer/service_uri")"
 | 
			
		||||
exp_id="$(cat "$__object/explorer/service_id")"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,11 +33,7 @@ else
 | 
			
		|||
   uri="$__object_id"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$__object/parameter/state" ]; then
 | 
			
		||||
   state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
else
 | 
			
		||||
   state_should="present"
 | 
			
		||||
fi
 | 
			
		||||
state_should="$(cat "$__object/parameter/state")"
 | 
			
		||||
 | 
			
		||||
exp_uri="$(cat "$__object/explorer/service_uri")"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,12 +4,25 @@ Changelog
 | 
			
		|||
	* Changes are always commented with their author in (braces)
 | 
			
		||||
	* Exception: No braces means author == Nico Schottelius
 | 
			
		||||
 | 
			
		||||
3.0.3:
 | 
			
		||||
3.0.4:
 | 
			
		||||
	* Documentation: Update reference (files path in object space)
 | 
			
		||||
	* Type __apt_ppa: Install required software (Steven Armstrong)
 | 
			
		||||
	* Type __debconf_set_selections: Support --file - to read from stdin
 | 
			
		||||
	* Type __jail: Fix jaildir parameter handling (Jake Guffey)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
3.0.3: 2014-01-22
 | 
			
		||||
	* Core: Enhance error message when requirement is missing object id
 | 
			
		||||
	* Core: Add environment variable to select shell for executing scripts (Daniel Heule)
 | 
			
		||||
	* Explorer hostname: Return host name by using uname -n
 | 
			
		||||
	* New Type: __hostname (Steven Armstrong)
 | 
			
		||||
	* Type __cdist: Use default paremeters (Daniel Heule)
 | 
			
		||||
	* Type __key_value: Use default paremeters (Daniel Heule)
 | 
			
		||||
	* Type __line: Use printf instead of echo for printing user input
 | 
			
		||||
	* Type __qemu_img: Use default paremeters (Daniel Heule)
 | 
			
		||||
	* Type __zypper_repo: Use default paremeters (Daniel Heule)
 | 
			
		||||
	* Type __zypper_service: Use default paremeters (Daniel Heule)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
3.0.2: 2014-01-19
 | 
			
		||||
	* Documentation: Document all messages sent by types (Daniel Heule)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -131,7 +131,8 @@ confdir/type/<name>/explorer::
 | 
			
		|||
 | 
			
		||||
confdir/type/<name>/files::
 | 
			
		||||
    This directory is reserved for user data and will not be used
 | 
			
		||||
    by cdist at any time
 | 
			
		||||
    by cdist at any time. It can be used for storing supplementary
 | 
			
		||||
    files (like scripts to act as a template or configuration files).
 | 
			
		||||
 | 
			
		||||
out/::
 | 
			
		||||
    This directory contains output of cdist and is usually located
 | 
			
		||||
| 
						 | 
				
			
			@ -175,9 +176,16 @@ OBJECTS
 | 
			
		|||
For object to object communication and tests, the following paths are
 | 
			
		||||
usable within a object directory:
 | 
			
		||||
 | 
			
		||||
files::
 | 
			
		||||
    This directory is reserved for user data and will not be used
 | 
			
		||||
    by cdist at any time. It can be used freely by the type 
 | 
			
		||||
    (for instance to store template results).
 | 
			
		||||
changed::
 | 
			
		||||
    This empty file exists in an object directory, if the object has
 | 
			
		||||
    code to be excuted (either remote or local)
 | 
			
		||||
stdin::
 | 
			
		||||
    This file exists and contains data, if data was provided on stdin 
 | 
			
		||||
    when the type was called.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ENVIRONMENT VARIABLES
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -164,8 +164,8 @@ For more details consult sudoers(5)
 | 
			
		|||
 | 
			
		||||
TEMPLATING
 | 
			
		||||
----------
 | 
			
		||||
* create directory templates/ in your type (convention)
 | 
			
		||||
* create the template as an executable file like templates/basic.conf.sh, it will output text using shell variables for the values
 | 
			
		||||
* create directory files/ in your type (convention)
 | 
			
		||||
* create the template as an executable file like files/basic.conf.sh, it will output text using shell variables for the values
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@ EOF
 | 
			
		|||
  export ROOT='/var/www/test'
 | 
			
		||||
# render the template
 | 
			
		||||
  mkdir -p "$__object/files"
 | 
			
		||||
  "$__type/templates/basic.conf.sh" > "$__object/files/basic.conf"
 | 
			
		||||
  "$__type/files/basic.conf.sh" > "$__object/files/basic.conf"
 | 
			
		||||
# send the rendered template
 | 
			
		||||
  __file /etc/nginx/sites-available/test.conf  \
 | 
			
		||||
    --state present
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue