diff options
Diffstat (limited to 'share/hydra/deploy')
-rwxr-xr-x | share/hydra/deploy | 38 |
1 files changed, 7 insertions, 31 deletions
diff --git a/share/hydra/deploy b/share/hydra/deploy index 940c17b..0afd879 100755 --- a/share/hydra/deploy +++ b/share/hydra/deploy @@ -32,40 +32,16 @@ fi for node in $NODES; do echo "Deploying to $node..." - # Saner defaults - $HYDRA_CONNECT $node sudo mkdir -p /etc/puppet - $HYDRA_CONNECT $node sudo chown -R root. /etc/puppet - $HYDRA_CONNECT $node sudo chmod -R 640 /etc/puppet + # Setup deploy environment + hydra_deploy_setyp remote $node + hydra_deploy_mkdirs # Sync repository to server - # Exclude eventual keys and version control files - rsync -CrltDv --no-perms --exclude=keys --exclude=hiera/secrets --delete --rsync-path "sudo rsync" $HYDRA_FOLDER/puppet/ $node:/etc/puppet/ + $DEPLOY_RSYNC - # Setup custom facts - FQDN="`$HYDRA_CONNECT $node facter fqdn`" - DOMAIN="`echo $FQDN | cut -d . -f 2-`" - ROLE="`grep "^nodo::role: " domain/$DOMAIN/$FQDN.yaml | cut -d ' ' -f 2 | sed -e "s/'//g" -e 's/"//g'`" - LOCATION="`grep "^nodo::location: " domain/$DOMAIN/$FQDN.yaml | cut -d ' ' -f 2 | sed -e "s/'//g" -e 's/"//g'`" - - # Check for manifest - if [ ! -e "$HYDRA_FOLDER/puppet/manifests/nodes/$FQDN.pp" ]; then - echo "Not found: $HYDRA_FOLDER/puppet/manifests/nodes/$FQDN.pp" - exit 1 - fi - - # Copy needed hiera YAMLs - $HYDRA_CONNECT $node sudo mkdir -p $FOLDER/etc/puppet/secrets/{domain,location,node,role} - $HYDRA_CONNECT $node sudo cp $HYDRA_FOLDER/puppet/hiera/secrets/domain/$DOMAIN.yaml $FOLDER/etc/puppet/hiera/domain/ - $HYDRA_CONNECT $node sudo cp $HYDRA_FOLDER/puppet/hiera/secrets/location/$LOCATION.yaml $FOLDER/etc/puppet/hiera/location/ - $HYDRA_CONNECT $node sudo cp $HYDRA_FOLDER/puppet/hiera/secrets/location/$ROLE.yaml $FOLDER/etc/puppet/hiera/role/ + # Copy hiera configuration + hydra_hiera_copy # Run puppet - $HYDRA_CONNECT $node <<EOF - ##### BEGIN REMOTE SCRIPT ##### - sudo chown -R root. /etc/puppet - sudo chmod -R 640 /etc/puppet - LC_ALL=C FACTER_role=$ROLE FACTER_location=$LOCATION \ - sudo puppet apply /etc/puppet/manifests/nodes/$FQDN.pp - ##### END REMOTE SCRIPT ####### -EOF + $DEPLOY_APPLY done |