odoo/setup/puppet/setup_server.sh

48 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
HOST='xxx.datenpol.at'
PORT=22
if [ $# -lt 1 ] || [ $# -gt 1 ]; then
echo "Usage: ./setup_server.sh <init|update>"
exit 1
fi
echo "Are you sure? [Press Y to confirm!]"
read ANSWER
if [ "$ANSWER" != "Y" ]; then
echo "Ok, good bye!"
exit 1
fi
TYPE=$1
USER=root
if [ "$TYPE" = "init" ]; then
ssh -p ${PORT} ${USER}@$HOST "apt-get update; apt-get install puppet;"
ssh -p ${PORT} ${USER}@${HOST} "sudo apt-get install rsync"
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet module install puppetlabs-postgresql"
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet module install saz-sudo"
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet module install maestrodev-ssh_keygen"
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet module install puppetlabs-vcsrepo"
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet module install maestrodev-wget"
fi
if [ "$TYPE" = "update" ]; then
USER=odoo
fi
# Copy to server
rsync -av -e "ssh -p ${PORT}" --copy-links "site.pp" "${USER}@${HOST}:/tmp/site.pp"
rsync -arv -e "ssh -p ${PORT}" --copy-links "modules" "${USER}@${HOST}:/tmp"
ssh -p ${PORT} ${USER}@${HOST} "sudo mv -f /tmp/site.pp /etc/puppet/manifests/site.pp"
# Achtung für Debian werden die Puppet-Module unter /etc/puppet/code/modules abgelegt
ssh -p ${PORT} ${USER}@${HOST} "sudo rm -rf /etc/puppet/modules/odoo; sudo mv /tmp/modules/odoo /etc/puppet/modules; sudo rm -rf /tmp/modules"
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet apply /etc/puppet/manifests/site.pp"