aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xshare/hydra/deploy73
-rwxr-xr-xshare/hydractl/deploy60
2 files changed, 54 insertions, 79 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
diff --git a/share/hydractl/deploy b/share/hydractl/deploy
deleted file mode 100755
index 85745ca..0000000
--- a/share/hydractl/deploy
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash
-#
-# Deploy a node using automated recipes.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-# Load.
-source $APP_BASE/lib/hydra/functions || exit 1
-hydra_config_load
-
-# Parameters
-FOLDER="$1"
-
-# Dispatch
-if [ ! -z "$FOLDER" ]; then
- echo "Deploying to $FOLDER..."
-
- # Setup deploy environment
- hydra_deploy_setup folder $FOLDER
- hydra_deploy_mkdirs
-
- # Sync repository to server
- $DEPLOY_RSYNC "$RSYNC_PATH" $DEPLOY_OPTS
-
- # Copy hiera configuration
- hydra_deploy_copy_secrets folder
-
- # 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 [ -e "$HYDRA_FOLDER/puppet/manifests/nodes/$FQDN.pp" ]; 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
-fi