aboutsummaryrefslogtreecommitdiff
path: root/lib/hydra/config
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2010-11-21 17:19:01 -0200
committerSilvio Rhatto <rhatto@riseup.net>2010-11-21 17:19:01 -0200
commit7702aae3a471b4321833527931b71ce6b48b511b (patch)
tree36f11f0d232ccb62ba92f594769ece23e51f0b8c /lib/hydra/config
parent627dcf039b289858b3d36958f526b857e04d048e (diff)
downloadhydra-7702aae3a471b4321833527931b71ce6b48b511b.tar.gz
hydra-7702aae3a471b4321833527931b71ce6b48b511b.tar.bz2
Splitting lib functions in smaller files
Diffstat (limited to 'lib/hydra/config')
-rw-r--r--lib/hydra/config59
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
+}