48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			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"
 |