From ab50d8561b27be00733dff0a8597e45fc65f91aa Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Thu, 4 Jul 2013 14:34:17 +0200 Subject: [PATCH] add new type: __cdist Signed-off-by: Nico Schottelius --- cdist/conf/type/__cdist/man.text | 63 ++++++++++++++++++++++ cdist/conf/type/__cdist/manifest | 46 ++++++++++++++++ cdist/conf/type/__cdist/parameter/optional | 3 ++ 3 files changed, 112 insertions(+) create mode 100644 cdist/conf/type/__cdist/man.text create mode 100755 cdist/conf/type/__cdist/manifest create mode 100644 cdist/conf/type/__cdist/parameter/optional diff --git a/cdist/conf/type/__cdist/man.text b/cdist/conf/type/__cdist/man.text new file mode 100644 index 00000000..0805598e --- /dev/null +++ b/cdist/conf/type/__cdist/man.text @@ -0,0 +1,63 @@ +cdist-type__cdist(7) +==================== +Nico Schottelius + + +NAME +---- +cdist-type__cdist - Manage cdist installations + + +DESCRIPTION +----------- +This cdist type allows you to easily setup cdist +on another box, to allow the other box to configure +systems. + +This type is *NOT* required by target hosts. +It is only helpful to build FROM which you configure +other hosts. + +This type will use git to clone + + +REQUIRED PARAMETERS +------------------- + +OPTIONAL PARAMETERS +------------------- +username:: + Select the user to create for the cdist installation. + Defaults to "cdist". + +source:: + Select the source from which to clone cdist from. + Defaults to "git://github.com/telmich/cdist.git". + + +branch:: + Select the branch to checkout from. + Defaults to "master". + + +EXAMPLES +-------- + +-------------------------------------------------------------------------------- +# Install cdist for user cdist in her home as subfolder cdist +__cdist /home/cdist/cdist + +# Use alternative source +__cdist --source "git://git.schottelius.org/cdist" /home/cdist/cdist +-------------------------------------------------------------------------------- + + +SEE ALSO +-------- +- cdist-type(7) + + +COPYING +------- +Copyright \(C) 2013 Nico Schottelius. Free use of this software is +granted under the terms of the GNU General Public License version 3 (GPLv3). diff --git a/cdist/conf/type/__cdist/manifest b/cdist/conf/type/__cdist/manifest new file mode 100755 index 00000000..16498c95 --- /dev/null +++ b/cdist/conf/type/__cdist/manifest @@ -0,0 +1,46 @@ +#!/bin/sh +# +# 2013 Nico Schottelius (nico-cdist at schottelius.org) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# +# + +directory="$__object_id" + +if [ -f "$__object/parameter/username" ]; then + username="$(cat "$__object/parameter/username")" +else + username="cdist" +fi + +if [ -f "$__object/parameter/branch" ]; then + branch="$(cat "$__object/parameter/branch")" +else + branch="master" +fi + +if [ -f "$__object/parameter/source" ]; then + source="$(cat "$__object/parameter/source")" +else + source="git://github.com/telmich/cdist.git" +fi + +__user "$username" + +require="__user/$username" __git "$directory" \ + --source "$source" \ + --owner "$username" --branch "$branch" diff --git a/cdist/conf/type/__cdist/parameter/optional b/cdist/conf/type/__cdist/parameter/optional new file mode 100644 index 00000000..d6582730 --- /dev/null +++ b/cdist/conf/type/__cdist/parameter/optional @@ -0,0 +1,3 @@ +branch +source +username