diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2010-11-21 17:19:01 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2010-11-21 17:19:01 -0200 |
commit | 7702aae3a471b4321833527931b71ce6b48b511b (patch) | |
tree | 36f11f0d232ccb62ba92f594769ece23e51f0b8c /lib/hydra/config | |
parent | 627dcf039b289858b3d36958f526b857e04d048e (diff) | |
download | hydra-7702aae3a471b4321833527931b71ce6b48b511b.tar.gz hydra-7702aae3a471b4321833527931b71ce6b48b511b.tar.bz2 |
Splitting lib functions in smaller files
Diffstat (limited to 'lib/hydra/config')
-rw-r--r-- | lib/hydra/config | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/hydra/config b/lib/hydra/config new file mode 100644 index 0000000..f45366b --- /dev/null +++ b/lib/hydra/config @@ -0,0 +1,59 @@ +#!/bin/bash + +# Setup main configuration and load preferences +function hydra_config_load { + local folder="`dirname $CONFIG`" + + if [ -f "$folder" ]; then + echo "Converting legacy configuration scheme..." + mv $folder $folder.tmp + mkdir -p $folder + mv $folder.tmp $CONFIG + fi + + if [ ! -e "$CONFIG" ]; then + echo "Creating $CONFIG..." + mkdir `dirname $CONFIG` + touch $CONFIG + chmod 600 $CONFIG + echo "# Hydra config file." > $CONFIG + echo "" >> $CONFIG + fi + + hydra_config_load_preferences +} + +# Load config preferences +function hydra_config_load_preferences { + # Load custom preferences + if [ ! -z "$PREFERENCES" ] && [ -f "$PREFERENCES" ]; then + source $PREFERENCES + fi + + hydra_check_preferences +} + +# Check preferences +function hydra_check_preferences { + if [ ! -z "$PUPPET" ] && [ ! -d "$PUPPET" ]; then + echo "Puppet folder not found: $PUPPET." + exit 1 + fi + + if [ -z "$PUPPET_KEYS" ]; then + PUPPET_KEYS="$PUPPET/files/keys" + fi +} + +# Load a parameter from config +function hydra_config { + if [ -z "$CONFIG" ]; then + echo "Your have to set CONFIG variable in the code" + exit 1 + elif [ -e "$CONFIG" ]; then + grep -e "^$1=" $CONFIG | tail -n 1 | cut -d = -f 2 | sed -e 's/"//g' -e "s/'//g" | sed -e 's/ *#.*$//' + else + echo "Config file not found: $CONFIG" + exit 1 + fi +} |