Merge branch 'master' into install_integration

This commit is contained in:
Nico Schottelius 2014-01-29 22:31:31 +01:00
commit 52a3db04d0
27 changed files with 74 additions and 64 deletions

View file

@ -16,7 +16,8 @@ This cdist type allows manage ubuntu ppa repositories.
REQUIRED PARAMETERS REQUIRED PARAMETERS
------------------- -------------------
state:: 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 OPTIONAL PARAMETERS
@ -29,6 +30,8 @@ EXAMPLES
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
# Enable a ppa repository # Enable a ppa repository
__apt_ppa ppa:sans-intern/missing-bits
# same as
__apt_ppa ppa:sans-intern/missing-bits --state present __apt_ppa ppa:sans-intern/missing-bits --state present
# Disable a ppa repository # Disable a ppa repository
@ -43,5 +46,5 @@ SEE ALSO
COPYING 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). granted under the terms of the GNU General Public License version 3 (GPLv3).

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/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. # This file is part of cdist.
# #
@ -20,9 +20,10 @@
name="$__object_id" 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 \ __file /usr/local/bin/remove-apt-repository \
--source "$__type/files/remove-apt-repository" \ --source "$__type/files/remove-apt-repository" \
--mode 0755 --mode 0755

View file

@ -0,0 +1 @@
present

View file

@ -27,23 +27,11 @@ else
shell="" shell=""
fi fi
if [ -f "$__object/parameter/username" ]; then
username="$(cat "$__object/parameter/username")" username="$(cat "$__object/parameter/username")"
else
username="cdist"
fi
if [ -f "$__object/parameter/branch" ]; then
branch="$(cat "$__object/parameter/branch")" branch="$(cat "$__object/parameter/branch")"
else
branch="master"
fi
if [ -f "$__object/parameter/source" ]; then
source="$(cat "$__object/parameter/source")" source="$(cat "$__object/parameter/source")"
else
source="git://github.com/telmich/cdist.git"
fi
# Currently hardcoded - if anyone cares, make a parameter # Currently hardcoded - if anyone cares, make a parameter
# out of it # out of it

View file

@ -0,0 +1 @@
master

View file

@ -0,0 +1 @@
git://github.com/telmich/cdist.git

View file

@ -0,0 +1 @@
cdist

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/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. # This file is part of cdist.
# #
@ -21,6 +21,12 @@
# Setup selections # Setup selections
# #
filename"$(cat "$__object/parameter/file")"
if [ "$filename" = "-" ]; then
filename="$__object/stdin"
fi
echo "debconf-set-selections << __file-eof" echo "debconf-set-selections << __file-eof"
cat "$(cat "$__object/parameter/file")" cat "$(cat "$filename")"
echo "__file-eof" echo "__file-eof"

View file

@ -18,6 +18,7 @@ REQUIRED PARAMETERS
------------------- -------------------
file:: file::
Use the given filename as input for debconf-set-selections(1) Use the given filename as input for debconf-set-selections(1)
If filename is "-", read from stdin.
EXAMPLES EXAMPLES
@ -29,6 +30,10 @@ __debconf_set_selections nslcd --file /path/to/file
# Setup configuration for nslcd from another type # Setup configuration for nslcd from another type
__debconf_set_selections nslcd --file "$__type/files/preseed/nslcd" __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 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). granted under the terms of the GNU General Public License version 3 (GPLv3).

View file

@ -23,7 +23,7 @@
# #
if [ -f "$__object/parameter/jaildir" ]; then if [ -f "$__object/parameter/jaildir" ]; then
jaildir="$(cat "$__object/parameter/name")" jaildir="$(cat "$__object/parameter/jaildir")"
else else
jaildir="/usr/jail" jaildir="/usr/jail"
fi fi

View file

@ -85,7 +85,7 @@ if [ -f "$__object/parameter/onboot" ]; then
fi fi
if [ -f "$__object/parameter/jaildir" ]; then if [ -f "$__object/parameter/jaildir" ]; then
jaildir="$(cat "$__object/parameter/name")" jaildir="$(cat "$__object/parameter/jaildir")"
else else
jaildir="/usr/jail" jaildir="/usr/jail"
fi fi

View file

@ -34,7 +34,7 @@ if [ ! "$os" = "freebsd" ]; then
fi fi
if [ -f "$__object/parameter/jaildir" ]; then if [ -f "$__object/parameter/jaildir" ]; then
jaildir="$(cat "$__object/parameter/name")" jaildir="$(cat "$__object/parameter/jaildir")"
else else
jaildir="/usr/jail" jaildir="/usr/jail"
fi fi

View file

@ -21,8 +21,8 @@
key="$__object_id" key="$__object_id"
[ -f "$__object/parameter/key" ] && key="$(cat "$__object/parameter/key")" [ -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")" file="$(cat "$__object/parameter/file")"
delimiter="$(cat "$__object/parameter/delimiter")" delimiter="$(cat "$__object/parameter/delimiter")"

View file

@ -19,8 +19,7 @@
# along with cdist. If not, see <http://www.gnu.org/licenses/>. # along with cdist. If not, see <http://www.gnu.org/licenses/>.
# #
state_should=present state_should="$(cat "$__object/parameter/state")"
[ -f "$__object/parameter/state" ] && state_should="$(cat "$__object/parameter/state")"
if [ "$state_should" = "present" -a ! -f "$__object/parameter/value" ]; then if [ "$state_should" = "present" -a ! -f "$__object/parameter/value" ]; then
echo "Missing required parameter 'value'" >&2 echo "Missing required parameter 'value'" >&2

View file

@ -0,0 +1 @@
present

View file

@ -2,8 +2,7 @@
# State: absent is handled by manifest - we need only to do stuff if image is # State: absent is handled by manifest - we need only to do stuff if image is
# not existing and state != absent # not existing and state != absent
# #
state="present" state="$(cat "$__object/parameter/state")"
[ -f "$__object/parameter/state" ] && state="$(cat "$__object/parameter/state")"
[ "$state" = "absent" ] && exit 0 [ "$state" = "absent" ] && exit 0
exists="$(cat "$__object/explorer/exists")" exists="$(cat "$__object/explorer/exists")"
@ -13,8 +12,7 @@ exists="$(cat "$__object/explorer/exists")"
# Still there? Create image # Still there? Create image
# #
format=qcow2 format="$(cat "$__object/parameter/format")"
[ -f "$__object/parameter/format" ] && format="$(cat "$__object/parameter/format")"
size="$(cat "$__object/parameter/size")" size="$(cat "$__object/parameter/size")"
diskimage="/$__object_id" diskimage="/$__object_id"

View file

@ -2,10 +2,8 @@
# Default settings # Default settings
# #
format=qcow2 format="$(cat "$__object/parameter/format")"
state=present state="$(cat "$__object/parameter/state")"
[ -f "$__object/parameter/format" ] && format="$(cat "$__object/parameter/format")"
[ -f "$__object/parameter/state" ] && state="$(cat "$__object/parameter/state")"
diskimage="/$__object_id" diskimage="/$__object_id"

View file

@ -0,0 +1 @@
qcow2

View file

@ -0,0 +1 @@
present

View file

@ -1 +1,2 @@
format format
state

View file

@ -45,11 +45,7 @@ else
id="$__object_id" id="$__object_id"
fi fi
if [ -f "$__object/parameter/state" ]; then
state="$(cat "$__object/parameter/state")" state="$(cat "$__object/parameter/state")"
else
state="present"
fi
repo_id="$(cat "$__object/explorer/repo_id")" repo_id="$(cat "$__object/explorer/repo_id")"

View file

@ -39,17 +39,8 @@ else
uri="$__object_id" uri="$__object_id"
fi fi
if [ -f "$__object/parameter/state" ]; then
state_should="$(cat "$__object/parameter/state")" state_should="$(cat "$__object/parameter/state")"
else
state_should="present"
fi
if [ -f "$__object/parameter/type" ]; then
stype="$(cat "$__object/parameter/type")" stype="$(cat "$__object/parameter/type")"
else
stype="ris"
fi
exp_uri="$(cat "$__object/explorer/service_uri")" exp_uri="$(cat "$__object/explorer/service_uri")"
exp_id="$(cat "$__object/explorer/service_id")" exp_id="$(cat "$__object/explorer/service_id")"

View file

@ -33,11 +33,7 @@ else
uri="$__object_id" uri="$__object_id"
fi fi
if [ -f "$__object/parameter/state" ]; then
state_should="$(cat "$__object/parameter/state")" state_should="$(cat "$__object/parameter/state")"
else
state_should="present"
fi
exp_uri="$(cat "$__object/explorer/service_uri")" exp_uri="$(cat "$__object/explorer/service_uri")"

View file

@ -4,12 +4,25 @@ Changelog
* Changes are always commented with their author in (braces) * Changes are always commented with their author in (braces)
* Exception: No braces means author == Nico Schottelius * 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: Enhance error message when requirement is missing object id
* Core: Add environment variable to select shell for executing scripts (Daniel Heule) * Core: Add environment variable to select shell for executing scripts (Daniel Heule)
* Explorer hostname: Return host name by using uname -n * Explorer hostname: Return host name by using uname -n
* New Type: __hostname (Steven Armstrong) * 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 __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 3.0.2: 2014-01-19
* Documentation: Document all messages sent by types (Daniel Heule) * Documentation: Document all messages sent by types (Daniel Heule)

View file

@ -131,7 +131,8 @@ confdir/type/<name>/explorer::
confdir/type/<name>/files:: confdir/type/<name>/files::
This directory is reserved for user data and will not be used 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/:: out/::
This directory contains output of cdist and is usually located 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 For object to object communication and tests, the following paths are
usable within a object directory: 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:: changed::
This empty file exists in an object directory, if the object has This empty file exists in an object directory, if the object has
code to be excuted (either remote or local) 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 ENVIRONMENT VARIABLES

View file

@ -164,8 +164,8 @@ For more details consult sudoers(5)
TEMPLATING TEMPLATING
---------- ----------
* create directory templates/ in your type (convention) * create directory files/ 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 the template as an executable file like files/basic.conf.sh, it will output text using shell variables for the values
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
#!/bin/sh #!/bin/sh
@ -191,7 +191,7 @@ EOF
export ROOT='/var/www/test' export ROOT='/var/www/test'
# render the template # render the template
mkdir -p "$__object/files" 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 # send the rendered template
__file /etc/nginx/sites-available/test.conf \ __file /etc/nginx/sites-available/test.conf \
--state present --state present