aboutsummaryrefslogtreecommitdiff
path: root/files/vserver/build_vserver
diff options
context:
space:
mode:
Diffstat (limited to 'files/vserver/build_vserver')
-rw-r--r--files/vserver/build_vserver36
1 files changed, 36 insertions, 0 deletions
diff --git a/files/vserver/build_vserver b/files/vserver/build_vserver
new file mode 100644
index 0000000..0f0cea7
--- /dev/null
+++ b/files/vserver/build_vserver
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+NAME=$1
+CONTEXT=$2
+RELEASE = $3
+DEBOOTSTRAP_MIRROR = $4
+# create basic vserver
+vserver $NAME build -m debootstrap -- -d $RELEASE -m $DEBOOTSTRAP_MIRROR
+
+# default settings
+echo $NAME >/etc/vservers/$NAME/uts/nodename
+echo $CONTEXT >/etc/vservers/$NAME/context
+
+# 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
+#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 dselect update
+# install a few packages needed for facter
+vserver $NAME exec apt-get -y install lsb-release iproute
+#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"