X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=usr%2Flocal%2Fbin%2Fvserver-create;h=b3a30e50261c2d2f591508c7d16028e47f208372;hb=6189f9d3ce5b877f92266d20a58b90ef0033f00d;hp=91c4d5070be14d8fef3b36bf39f02803634c28fb;hpb=a0af5ad71d34038630353cd7afe0fa2a0045559d;p=matthijs%2Fservers%2Fdrsnuggles.git diff --git a/usr/local/bin/vserver-create b/usr/local/bin/vserver-create index 91c4d50..b3a30e5 100755 --- a/usr/local/bin/vserver-create +++ b/usr/local/bin/vserver-create @@ -1,11 +1,25 @@ #!/bin/sh -TEMPLATE=template +# The dir containing vserver configuration VSERVERS_CONF=/etc/vservers +# The vserver to use as a template +TEMPLATE=template +# A file containing files (or masks) to not copy from the template vserver. EXCLUDE_FILE="$VSERVERS_CONF/clone-exclude" +# The ip range to use for creating a new vserver. A number between 2 and 253 +# will be appended to this, until an address is found that is not used by +# another vserver.. IP_RANGE=10.42.0. +# The interface on which to create the vserver INTERFACE=dummy0 +# The netmask for the address NETMASK=24 +HOSTS_VSERVER=dns +# The hosts file to which an entry for the new vserver should be added. Can be +# left empty to not record the new vserver anywhere. +HOSTS_FILE=$VSERVERS_CONF/$HOSTS_VSERVER/vdir/etc/hosts +# Any extra commands to execute after creating the vserver +POST_EXEC="sudo vserver $HOSTS_VSERVER exec /usr/bin/killall -HUP dnsmasq" function usage() { @@ -71,3 +85,11 @@ CONF_FOR_GIT=`echo $VSERVERS_CONF/$NAME | sed "s#^/*##"` # Commit the configuration (cd /; git add $CONF_FOR_GIT) (cd /; git commit $CONF_FOR_GIT --edit --message "vserver: Add $NAME vserver configuration.") + +if [ -n "$HOSTS_FILE" ]; then + sudo sh -c "echo '$IP $NAME' >> '$HOSTS_FILE'" +fi + +if [ -n "$POST_EXEC" ]; then + $POST_EXEC +fi