From 097e2cb303139d281e6ae4b3f8e6c61871460136 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 27 Feb 2011 14:27:23 +0100 Subject: [PATCH] continue on cdist-quickstart Signed-off-by: Nico Schottelius --- bin/cdist-quickstart | 91 +++++++++++++++++++++++++++++++++++++------ doc/dev/todo/niconext | 1 + 2 files changed, 81 insertions(+), 11 deletions(-) diff --git a/bin/cdist-quickstart b/bin/cdist-quickstart index 9fc65641..08122a39 100755 --- a/bin/cdist-quickstart +++ b/bin/cdist-quickstart @@ -26,6 +26,7 @@ set -eu banner="cdist-quickstart>" continue="Press enter to continue or ctrl-c to abort." +create_continue="Press enter to create the described files/directories" __prompt() { @@ -33,33 +34,101 @@ __prompt() read answer } +################################################################################ +# Intro +# cat << eof $banner cdist version $__cdist_version Welcome to the interactive guide to cdist! This is the interactive tutorial and beginners help for cdist. +If you would like to run this tutorial completly without root priveliges, +setup the variables __cdist_conf_dir to point to a writable locaction +(i.e. $HOME/cdist-config). eof __prompt "$continue" +################################################################################ +# /etc/cdist via root +# cat << eof - To make any use of cdist, we need to create the configuration base, which -can normally be found below ${__cdist_conf_dir}: +can normally be found below ${__cdist_conf_dir}. As cdist does not need +any root priveliges normally, it is recommended that you create this +directory as root and change the owner to a dedicated user (for instance +cdist). -${__cdist_explorer_dir}: Contains explorer, which explore the target -${__cdist_manifest_dir}: Contains manifests which define types being used -${__cdist_manifest_init}: The first manifest executed (i.e. cdist entry point) -${__cdist_type_dir}: Contains types +MANUAL STEP: + + - Become root: su - + - Create ${__cdist_conf_dir}: mkdir ${__cdist_conf_dir} + - Change owner to $USER: chown $USER ${__cdist_conf_dir} eof __prompt "$continue" +################################################################################ +# Basic directories +# +cat << eof +Now we need to create some basic directories: + + - ${__cdist_explorer_dir}: Contains explorer, which explore the target + - ${__cdist_manifest_dir}: Contains manifests which define types being used + - ${__cdist_type_dir}: Contains types + +eof +__prompt "$create_continue" + set -x -mkdir ${__cdist_conf_dir} -mkdir ${__cdist_explorer_dir} -mkdir ${__cdist_manifest_dir} -touch ${__cdist_manifest_init} -mkdir ${__cdist_type_dir} +mkdir -p ${__cdist_explorer_dir} +mkdir -p ${__cdist_manifest_dir} +mkdir -p ${__cdist_type_dir} set +x + +################################################################################ +# create manifest/init +# +cat << eof +At the beginning of a configuration deployment the first file cdist reads is +${__cdist_manifest_init}, which defines the types to be created on +a specific host. + +We'll create the initial manifest and add some example types to it. + +eof +__prompt "$create_continue" + +set -x +cat << eof > "${__cdist_manifest_init}" +# Always create a marker +__file /etc/cdist-configured --type file + +case "\$__target_host" in + $(hostname)*) + __file /tmp/cdist-quickstart --type file + ;; +esac + +eof +set +x + +################################################################################ +# show generated manifest/niit +# +cat << eof +Let's have a look how the initial manifest looks like currently: +-------------------------------------------------------------------------------- +eof +cat "${__cdist_manifest_init}" +cat << eof +-------------------------------------------------------------------------------- +eof + +__prompt "$continue" + +################################################################################ +# add type file +# diff --git a/doc/dev/todo/niconext b/doc/dev/todo/niconext index d92277c8..ccfaf288 100644 --- a/doc/dev/todo/niconext +++ b/doc/dev/todo/niconext @@ -2,3 +2,4 @@ Prepare documentation for 1.0.0. - Check all references in manpages - cdist.text, cdist-quickstart - write cdist-quickstart + - redefine installation + configuration base?