aboutsummaryrefslogtreecommitdiff
path: root/share/hydra/deploy
diff options
context:
space:
mode:
Diffstat (limited to 'share/hydra/deploy')
-rwxr-xr-xshare/hydra/deploy35
1 files changed, 35 insertions, 0 deletions
diff --git a/share/hydra/deploy b/share/hydra/deploy
index a9bf588..81f29ca 100755
--- a/share/hydra/deploy
+++ b/share/hydra/deploy
@@ -1 +1,36 @@
#!/bin/bash
+#
+# Deploy hydra suite on multiple nodes.
+#
+
+# Load
+source $APP_BASE/lib/hydra/functions || exit 1
+hydra_config_load
+
+# Command line arguments
+ORIGIN="$1"
+
+# Build node list
+NODES="`hydra $HYDRA nodes`"
+
+# Validation
+if [ -z "$ORIGIN" ]; then
+ ORIGIN="git://git.sarava.org/hydra.git"
+fi
+
+# Deploy
+# TODO: code signature
+for node in $NODES; do
+ echo "Deploying to $node..."
+ ssh -o ConnectTimeout=15 $node <<EOF
+ ##### BEGIN REMOTE SCRIPT #####
+ if [ ! -d /usr/local/hydra ]; then
+ sudo git clone $ORIGIN /usr/local/hydra
+ sudo ln -s /usr/local/hydra/hydra /usr/local/sbin/hydra
+ sudo ln -s /usr/local/hydra/hydra /usr/local/sbin/hydractl
+ else
+ ( cd /usr/local/hydra && sudo git pull )
+ fi
+ ##### END REMOTE SCRIPT #######
+EOF
+done