#!/bin/bash NAME="$1" CONTEXT="$2" RELEASE="$3" DEBOOTSTRAP_MIRROR="$4" VHOSTNAME="$5" VINTERFACE="$6" if [ "$VHOSTNAME" != "none" ]; then VHOSTNAME="--hostname $VHOSTNAME" fi if [ ! -z "$VINTERFACE" ]; then VINTERFACE="--interface $VINTERFACE" fi # create basic vserver vserver $NAME build -n $NAME --context $CONTEXT \ $VHOSTNAME $VINTERFACE -m debootstrap -- -d $RELEASE -m $DEBOOTSTRAP_MIRROR # copy in some some defaults TARGET=/etc/vservers/$NAME/vdir/ cp /etc/apt/{preferences,sources.list} $TARGET/etc/apt/ # this is needed so puppet can find the puppetmaster and creates the right # certificate #grep -v $NAME /etc/hosts > $TARGET/etc/hosts #echo "127.0.0.1 $NAME" >> $TARGET/etc/hosts echo "127.0.0.1 $NAME" > $TARGET/etc/hosts #mkdir -p $TARGET/var/lib/puppet/modules/dbp #cp /var/lib/puppet/modules/dbp/puppet_current.deb $TARGET/var/lib/puppet/modules/dbp/ # Setup is complete, now do the post-install stuff vserver $NAME start vserver $NAME exec apt-get update vserver $NAME exec apt-get upgrade # Install a few needed packages vserver $NAME exec apt-get -y install lsb-release iproute cron sudo openssh-server locales #vserver $NAME exec dpkg --install var/lib/puppet/modules/dbp/puppet_current.deb #vserver $NAME exec apt-get -fy install #echo "Please sign now: puppetca --sign $NAME" >&2 echo "VServer $NAME created"