diff options
Diffstat (limited to 'puppet/bin/dependencies')
-rwxr-xr-x | puppet/bin/dependencies | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/puppet/bin/dependencies b/puppet/bin/dependencies new file mode 100755 index 0000000..3a47a8e --- /dev/null +++ b/puppet/bin/dependencies @@ -0,0 +1,45 @@ +#!/bin/bash +# +# Puppet bootstrap dependencies. +# + +# Parameters +BASENAME="`basename $0`" +DEPLOY_DEPENDENCIES="rsync puppet-common hiera-eyaml r10k" +DEVELOP_DEPENDENCIES="git mr whois hiera-eyaml" + +# Additional wheezy dependencies if not using puppet-common from wheezy-backports +#if [ "`head -c 1 /etc/debian_version`" == '7' ]; then +# DEPLOY_DEPENDENCIES="$DEPLOY_DEPENDENCIES ruby-hiera-puppet" +#fi + +# Set sudo config +if [ "`whoami`" != 'root' ]; then + SUDO="sudo" + + if ! sudo -n true; then + echo "Please set passwordless sudo." + exit 1 + fi +fi + +# Install a package, thanks to the Hydra Suite. +function provision_package { + if [ -z "$1" ]; then + return + fi + + dpkg -s $1 &> /dev/null + + if [ "$?" == "1" ]; then + echo "Installing package $1..." + DEBIAN_FRONTEND=noninteractive $SUDO apt-get install $1 -y + fi +} + +# Ensure basic packages are installed. +if [ "$BASENAME" == "dependencies" ]; then + for package in $DEVELOP_DEPENDENCIES; do + provision_package $package + done +fi |