diff options
Diffstat (limited to 'share/hydra/deploy')
-rwxr-xr-x | share/hydra/deploy | 35 |
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 |