diff options
Diffstat (limited to 'share/hydra/deploy')
-rwxr-xr-x | share/hydra/deploy | 73 |
1 files changed, 54 insertions, 19 deletions
diff --git a/share/hydra/deploy b/share/hydra/deploy index 7943a7a..3615776 100755 --- a/share/hydra/deploy +++ b/share/hydra/deploy @@ -30,29 +30,64 @@ fi # Deploy for node in $NODES; do - echo "Deploying to $node..." + if [ -d "$node" ]; then + echo "Deploying to $node folder..." - # Setup deploy environment - hydra_deploy_setup remote $node - hydra_deploy_mkdirs + # Setup deploy environment + hydra_deploy_setup folder $FOLDER + hydra_deploy_mkdirs - # Sync repository to server - $DEPLOY_RSYNC "$RSYNC_PATH" $DEPLOY_OPTS + # Sync repository to server + $DEPLOY_RSYNC "$RSYNC_PATH" $DEPLOY_OPTS - # Copy hiera configuration - hydra_deploy_copy_secrets remote + # Copy hiera configuration + hydra_deploy_copy_secrets folder - # Check if puppet is installed - $HYDRA_CONNECT $node <<EOF - ##### BEGIN REMOTE SCRIPT ##### - if ! which puppet &> /dev/null; then - echo "Installing puppet..." - sudo aptitude update - sudo aptitude install $DEPLOY_DEPENDENCIES - fi - ##### END REMOTE SCRIPT ####### + # Check if puppet is installed + if [ ! -e "$FOLDER/usr/bin/puppet" ]; then + $DEPLOY_COMMAND apt-get install $DEPLOY_DEPENDENCIES -y + fi + + # Run puppet, overriding FQDN + FACTER_domain=$DOMAIN FACTER_hostname=$HOSTNAME FACTER_fqdn=$HOSTNAME.$DOMAIN $DEPLOY_APPLY + elif [ "$node" == "localhost" ] || [ "$node" == "`facter fqdn`" ] || [ "$node" == "`facter hostname`" ]; then + echo "Deploying to localhost..." + + # Setup deploy environment + hydra_deploy_setup + + # Check if puppet is installed + for dep in $DEPLOY_DEPENDENCIES; do + hydra_install_package $dep + done + + # Run puppet + $DEPLOY_APPLY + else + echo "Deploying to $node..." + + # Setup deploy environment + hydra_deploy_setup remote $node + hydra_deploy_mkdirs + + # Sync repository to server + $DEPLOY_RSYNC "$RSYNC_PATH" $DEPLOY_OPTS + + # Copy hiera configuration + hydra_deploy_copy_secrets remote + + # Check if puppet is installed + $HYDRA_CONNECT $node <<EOF + ##### BEGIN REMOTE SCRIPT ##### + if ! which puppet &> /dev/null; then + echo "Installing puppet..." + sudo aptitude update + sudo aptitude install $DEPLOY_DEPENDENCIES + fi + ##### END REMOTE SCRIPT ####### EOF - # Run puppet - $DEPLOY_APPLY + # Run puppet + $DEPLOY_APPLY + fi done |