continue on cdist-quickstart
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								998be2025b
							
						
					
				
			
			
				commit
				
					
						097e2cb303
					
				
			
		
					 2 changed files with 81 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue