add some checks, more types
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								a78eb81951
							
						
					
				
			
			
				commit
				
					
						e06c0824dc
					
				
			
		
					 3 changed files with 38 additions and 6 deletions
				
			
		| 
						 | 
					@ -32,13 +32,14 @@ export cdist_types="file service user"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# the file that contains mapping from hosts to types
 | 
					# the file that contains mapping from hosts to types
 | 
				
			||||||
# we will execute this later
 | 
					# we will execute this later
 | 
				
			||||||
config_base="./cdist_config_base"
 | 
					cdist_config_base="./cdist_config_base"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdist_tree_wrapper="./cdist_tree_wrapper"
 | 
					cdist_tree_wrapper="./cdist_tree_wrapper"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# used to build the tree and other stuff
 | 
					# used to build the tree and other stuff
 | 
				
			||||||
tmpdir=/tmp/cdist-test-hardcoded
 | 
					tmpdir=/tmp/cdist-test-hardcoded
 | 
				
			||||||
cdist_bindir="${tmpdir}/bin"
 | 
					cdist_bindir="${tmpdir}/bin"
 | 
				
			||||||
 | 
					cdist_confdir="${tmpdir}/conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdist_type_prefix="__"
 | 
					cdist_type_prefix="__"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -69,10 +70,15 @@ mkdir -p "${cdist_bindir}"
 | 
				
			||||||
# prepend our path
 | 
					# prepend our path
 | 
				
			||||||
PATH="${cdist_bindir}:$PATH"
 | 
					PATH="${cdist_bindir}:$PATH"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# create output dir
 | 
				
			||||||
 | 
					mkdir -p "${cdist_confdir}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# force -x, so the user is aware the file is executed
 | 
					# force -x, so the user is aware the file is executed
 | 
				
			||||||
if [ -x "${config_base}" ]; then
 | 
					if [ -x "${cdist_config_base}" ]; then
 | 
				
			||||||
   "${config_base}"
 | 
					   "${cdist_config_base}"
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
   echo Throw some error, as you forgot to +x it.
 | 
					   echo Throw some error, as you forgot to +x it.
 | 
				
			||||||
   exit 1
 | 
					   exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Finished tree generation, have a look at ${cdist_confdir}."
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,12 @@
 | 
				
			||||||
# Define configuration, currently global, add matches later!
 | 
					# Define configuration, currently global, add matches later!
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__file /usr/bin/cdist --source /from/outer/space
 | 
					__file cdist_bin --source /from/outer/space --destination /to/earth
 | 
				
			||||||
__user hal --uid 9000
 | 
					__user hal --uid 9000
 | 
				
			||||||
__service puppet --status disabled
 | 
					__service puppet --status disabled
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# fails
 | 
				
			||||||
 | 
					__service puppet --status duplicated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# fails
 | 
				
			||||||
 | 
					__service time --missing
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,7 +31,27 @@ echo "I am $__cdist_myname and have been called with $@"
 | 
				
			||||||
id="$1"; shift
 | 
					id="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# FIXME: find a better definiton of sane (i.e. everything that is a valid filename)
 | 
					# FIXME: find a better definiton of sane (i.e. everything that is a valid filename)
 | 
				
			||||||
echo "$id" | grep -q '^[A-Za-z0-9_]*$' || __cdist_usage "Provide sane id, please"
 | 
					sanechars='[A-Za-z0-9_]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "$id" | grep -q "^${sanechars}*\$" || __cdist_usage "Provide sane id, please"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -e "${cdist_confdir}/${__cdist_myname}/${id}" ]; then
 | 
				
			||||||
 | 
					   # FIXME: add source! $cdist_config_base/source
 | 
				
			||||||
 | 
					   __cdist_usage "${__cdist_myname}/${id} already exists"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mkdir -p "${cdist_confdir}/${__cdist_myname}/${id}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while [ $# -gt 0 ]; do
 | 
				
			||||||
 | 
					   opt="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   echo "$opt" | grep -q "^--${sanechars}*\$" || __cdist_usage "Provide sane options"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo mkdir -p "${cdist_confdir}/${__cdist_myname}/${id}"
 | 
					   [ $# -ge 1 ] || __cdist_usage "Missing value for $opt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   value="$1"; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue