util-vserver-0.30.208
[util-vserver.git] / doc / configuration.xml
diff --git a/doc/configuration.xml b/doc/configuration.xml
new file mode 100644 (file)
index 0000000..04b5ecf
--- /dev/null
@@ -0,0 +1,1160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE database SYSTEM "configuration.dtd" []>
+<!-- $Id: configuration.xml,v 1.36 2005/07/03 14:03:42 ensc Exp $ -->
+
+<database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:noNamespaceSchemaLocation="file:configuration.xsd">
+
+  <!-- Global configuration -->
+  <collection name=".defaults" use="optional">
+    <collection name="init" type="fixed">
+      <data name="mtab">
+       <description>Default mtab file</description>
+      </data>
+    </collection>
+
+    <link name="vdirbase">
+      <default>/vservers</default>
+      <description>A link to the default vserver rootdirectory.</description>
+    </link>
+
+
+    <boolean id="global-nonamespace" name="nonamespace">
+      <description>
+Disable namespace usage globally. It can be overridden for a single vserver
+by setting the <optionref ref="global-namespace">namespace</optionref> flag
+there.
+
+In this mode the <directory>/vservers</directory> directory must have
+the 'barrier' attribute. Else, common chroot(2) exploits are possible.
+      </description>
+    </boolean>
+
+    <link name="run.rev">
+      <description>
+Path of the vserver run reverse directory. This directory contains
+symlinks named with XID numbers which point back to the configuration
+directory of vservers. Under kernel 2.4 this is required for the XID
+to VSERVER mapping; Under kernel 2.6 it is unused.
+
+NOTE: this link exists in 0.30.202+ only; in previous versions it was
+a vserver specific setting.
+      </description>
+    </link>
+    
+    <collection name="apps">
+      <collection name="pkgmgmt">
+       <link name="base">
+         <default>/vservers/.pkg</default>
+       </link> 
+       <data name="apt.conf">
+         <description>The default apt.conf which is going to be used. It is overridden by
+distribution specific configuration file.
+          </description>
+       </data>
+      </collection>
+      
+      <collection name="debootstrap">
+       <scalar name="mirror">
+         <description>
+The Debian mirror to use with the <tool>debootstrap</tool> program
+          </description>
+       </scalar>
+       <scalar name="uri">
+         <description>
+When the <tool>debootstrap</tool> package is not installed; fetch it
+from this uri and install it at a temporary place.
+          </description>
+       </scalar>
+      </collection>
+
+      <collection name="vshelper">
+       <link name="logfile">
+         <description>
+The file where output will be logged to when <tool>vshelper</tool>
+is invoked from the kernel. This should point somewhere e.g. into
+<directory>/var/log</directory>.
+          </description>
+       </link>
+
+       <collection name="vshelper-methods">
+         <program name="handler" type="symbolic">
+           <description>
+See vshelper/action.
+            </description>
+         </program>
+       </collection>
+
+       <boolean name="disabled">
+         <description>
+When existing, the vshelper functionality will be disabled for all
+vservers.
+          </description>
+       </boolean>
+
+       <boolean name="debug">
+         <description>
+When existing, the vshelper execution will be traced.
+          </description>
+       </boolean>
+       
+       <boolean name="warning-disabled">
+         <description>
+When existing, sanity checks for the vshelper functionality will be
+skipped.
+          </description>
+       </boolean>
+
+      </collection>
+      
+      <collection name="vprocunhide">
+       <list name="files">
+         <description>
+A list of files which will be made visibly by vprocunhide. Wildcards are
+allowed and anything ending in '/' will be processed recursively. When this file exists,
+it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
+absolute filenames inclusive the leading '/proc'.
+          </description>
+       </list>
+      </collection>
+      
+      <collection name="init">
+       <link name="tty">
+         <description>
+A symlink to the TTY device where input/output will be redirected from/to
+at startup via initscript.
+          </description>
+       </link>
+      </collection>
+      
+      <collection name="vunify">
+       <list name="exclude">
+         <description>Static list of excluded files.</description>
+       </list>
+
+       <collection name="hash" since="0.30.205">
+         <description>
+A directory which will be used as the storage place for the
+<tool>vhashify</tool> command.
+          </description>
+         <link name="id" type="symbolic">
+           <description>
+Points to a directory within the filesystems which are used for the
+vservers. There must be not more than one of such a directory per
+filesystem.
+            </description>
+         </link>
+
+         <scalar name="method" since="0.30.299">
+           <default>SHA1</default>
+           <description>The used hash method.</description>
+         </scalar>
+       </collection>
+
+       <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
+         <description>
+When existing, information from packagemanagement will not be used to
+create dynamic exclude-lists.
+          </description>
+       </boolean>
+
+       <boolean name="pgkmgmt-force" default="off" since="0.30.205">
+         <description>
+When existing, information from packagemanagement will be used to
+create dynamic exclude-lists. This option requires that (a known)
+packagemanagement is configured for the vserver; else the requested
+operation will fail. Most tools assume 'on' as the default value.
+          </description>
+       </boolean>
+
+      </collection>
+    </collection>
+  </collection>
+    
+  <collection name=".distributions" use="optional">
+    <collection name="dist" type="symbolic">
+      <scalar name="dev">
+       <description></description>
+      </scalar>
+      <collection name="yum">
+       <description>
+The default, yum-related content of the <directory>/etc</directory>
+directory.
+        </description>
+       <scalar name="yum.conf">
+         <description>
+The master yum configuration file. It supports the @YUMETCDIR@,
+@YUMCACHEDIR@ and @YUMLOGDIR@ placeholder which will be replaced at
+<command>vserver ... build</command> time.
+          </description>
+       </scalar>
+      </collection>
+      <collection name="yum.repos.d">
+       <description>A directory with yum repositories.</description>
+      </collection>
+      <data name="apt.conf">
+       <description>
+The default apt.conf which is going to be used. It overrides the
+apt.conf from CONFDIR/.defaults/apps/pkgmgmt.
+        </description>
+      </data>
+      <program name="initpre">
+       <description>
+Script which will be executed before packages will be installed.
+          </description>
+       <parameterList>
+         <parameter name="confdir">
+           <description>
+The configuration directory of the vserver which is going to be set up.
+            </description>
+         </parameter>
+         <parameter name="vserver">
+           <description>
+The pathname of the vserver binary.
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <program name="initpost">
+       <description>
+Script which will be executed after packages are installed.
+          </description>
+       <parameterList>
+         <parameter name="confdir">
+           <description>
+The configuration directory of the vserver which is going to be set up.
+            </description>
+         </parameter>
+         <parameter name="vserver">
+           <description>
+The pathname of the vserver binary.
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      
+      <collection name="pkgs">
+       <description>
+Contains files with packagenames.
+        </description>
+       <list name="list">
+         <description>
+File which contains the name of packages. On top of file the special
+keywords '--reinstall' and '--can-fail' are possible.
+          </description>
+       </list>
+      </collection>
+      
+      <collection name="pubkeys">
+       <description>
+Directory with GPG pubkeys which are used to sign the packages of this
+distribution.
+        </description>
+      </collection>
+      
+      <collection name="apt">
+       <description>
+Default content of the <directory>/etc/apt/</directory> directory.
+        </description>
+      </collection>
+      
+      <collection name="rpm">
+       <description>
+Default content of the <directory>/etc/rpm</directory> directory.
+        </description>
+      </collection>
+      
+      <link name="rpmlib">
+       <description>
+Directory which overrides <directory>/usr/lib/rpm</directory>.
+        </description>
+      </link>
+      <link name="execdir">
+       <description>
+Directory with all executables and libraries which are required for
+this distribution.
+        </description>
+      </link>
+    </collection>
+  </collection>
+  
+  <!-- Vserver configuration -->
+  <collection name="vserver-name" type="symbolic">
+    <description>
+The configuration directory for the vserver vserver-name.
+    </description>
+    
+    <link name="vdir">
+      <description>
+Path of the vserver root directory
+      </description>
+    </link>
+
+    <link name="run">
+      <description>
+Points to a file which will contain the XID of the running vserver. When
+the vserver is stopped, this can be a dangling symlink.
+      </description>
+    </link>
+
+    <list id="bcapabilities" name="bcapabilities">
+      <description>
+[experimental; name is subject of possible change] Contains the system capabilities. See
+<ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+    <list name="ccapabilities">
+      <description>
+[experimental; name is subject of possible change] Contains the
+context capabilities. See <ulink
+url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
+for possible values.
+      </description>
+    </list>
+
+    <boolean id="global-namespace" name="namespace">
+      <description>
+Overrides the global <optionref ref="global-nonamespace">nonamespace</optionref> flag and enables
+namespace usage for the current vserver.
+      </description>
+    </boolean>
+
+    <boolean name="nonamespace">
+      <description>
+Disables namespace usage for the current vserver.
+
+In this mode the <directory>/vservers</directory> directory must have
+the 'barrier' attribute. Else, common chroot(2) exploits are possible.
+      </description>
+    </boolean>
+
+    <hash name="schedule">
+      <description>
+[experimental; name is subject of possible change] Contains the
+scheduler parameters, one per line.
+
+The Hard CPU limit uses a mechanism called a Token Bucket.  the
+concept is simple: you have a bucket of a certain size which is
+filled with a specified amount R of tokens each interval T until the
+maximum is reached (excess tokens are spilled). At each timer tick,
+a running process consumes one token from the bucket, unless the
+bucket is empty. If the bucket is empty the process is put in the
+hold queue. When the bucket has been refilled to at least M tokens,
+all on hold processes are rescheduled.
+      </description>
+      <keys>
+       <key id="fill_rate" name="fill-rate">
+         <description>
+Amount of tokens append to the bucket each interval.
+            </description>
+       </key>
+       <key name="interval">
+         <description>
+The intervall between refills of amount <optionref>fill_rate</optionref>. This
+value is express in ticks.
+          </description>
+       </key>
+       <key name="tokens">
+         <description>
+Initial bucket contents.
+          </description>
+       </key>
+       <key name="tokens-min">
+         <description>
+The minimum amount of tokens required to unhold processes
+          </description>
+       </key>
+       <key name="tokens-max">
+         <description>
+The bucket size.
+          </description>
+       </key>
+       <key name="priority-bias">
+         <description>
+???
+          </description>
+       </key>
+      </keys>
+    </hash>
+    <scalar name="name">
+      <description>
+Contains the name of the vserver. When not given, the basename of the directory
+will be assumed as this name.
+      </description>
+    </scalar>
+    <scalar name="nice">
+      <description>
+The nice-level on which the vserver will be started.
+      </description>
+    </scalar>
+    <list name="capabilities">
+      <description>
+Contains per line a capability. This file is used for the 2.4 kernel
+only; for 2.6 use <optionref>bcapabilities</optionref>.
+      </description>
+    </list>
+    <scalar name="shell">
+      <description>
+Contains the pathname of the shell which will be used by the "vserver
+... enter" command.
+      </description>
+    </scalar>
+    <list name="personality">
+      <description>
+Used to set the personality of the vserver. First line in the file
+is the personality-type followed by flags (one item per line). See
+<filename>/usr/include/linux/personality.h</filename> for possible
+values.
+      </description>
+    </list>
+    <list name="flags">
+      <description>
+Contains per line a flag. See <ulink
+url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
+for possible values.
+      </description>
+      <elements>
+       <element name="fakeinit">
+         <description>
+The new process will believe it is process number 1. Useful to run a
+real /sbin/init in a vserver. Warning: this flag should not be used
+unless you know what you are doing. Often, it is better to use the
+'plain' initstyle.
+          </description>
+       </element>
+       <element name="lock">
+         <description>
+The new process is trapped and can't use chcontext anymore.
+          </description>
+       </element>
+       <element name="sched">
+         <description>
+The new process and its children will share a common
+          </description>
+       </element>
+       <element name="nproc">
+         <description>
+Limit the number of process in the vserver according to
+ulimit setting. Normally, ulimit is a per user thing.
+With this flag, it becomes a per vserver thing.  
+          </description>
+       </element>
+       <element name="private">
+         <description>
+No one can join this security context once created.
+          </description>
+       </element>
+       <element name="ulimit">
+         <description>
+Apply the current ulimit to the whole context
+          </description>
+       </element>
+      </elements>
+    </list>
+    <scalar name="context">
+      <description>
+Contains the context which shall be used for the vserver.
+        </description>
+    </scalar>
+    <data id="fstab" name="fstab">
+      <description>
+The fstab file for the vserver. Entries in this file will be mounted
+within the network context of the host. Use the
+<optionref>fstab.remote</optionref> file when you want that the
+mounting happens in the network context of the vserver. In most cases
+the 'fstab' file should be used.
+      </description>
+    </data>
+    <data id="fstab.remote" name="fstab.remote">
+      <description>
+The fstab file for the vserver. Entries in this file will be mounted
+within the network context of the host; this means that mount will be
+called as <command>chbind &lt;options&gt; mount ...</command>. See
+<optionref>fstab</optionref> also.
+      </description>
+    </data>
+    
+    <collection name="apps">
+      <collection name="init">
+       <data name="mtab">
+         <description>
+The initial-mtab which will be used for the vserver.
+          </description>
+       </data>
+       
+       <scalar name="style">
+         <description>
+Contains the init-style.
+          </description>
+         <restriction>
+           <enumeration value="sysv"/>
+           <enumeration value="plain"/>
+           <enumeration value="minit"/>
+           <enumeration value="gento"/>
+         </restriction>
+       </scalar>
+       
+       <scalar name="runlevel">
+         <description>The start runlevel.</description>
+       </scalar>
+       
+       <scalar name="runlevel.start">
+         <description>The start runlevel.</description>
+       </scalar>
+       
+       <scalar name="runlevel.stop">
+         <description>The stop runlevel.</description>
+       </scalar>
+       
+       <scalar name="killseq">
+         <description>
+Contains the 'signal [wait signal]*' sequence which is used to stop
+the vserver.
+          </description>
+       </scalar>
+       
+       <list name="cmd.start">
+         <description>
+The command which is used to start the vserver. Each option must be on
+a separate line.
+          </description>
+       </list>
+       
+       <list name="cmd.start-sync">
+         <description>
+The command which is used to wait on the vserver after it has been
+started. Each option must be on a separate line. This file will be
+ignored when the <optionref>sync</optionref> flag does not exist and the
+'--sync' option was not used.
+         </description>
+       </list>
+       
+       <list name="cmd.stop">
+         <description>
+The command which is used to stop the vserver. Each option must be on
+a separate line.
+          </description>
+       </list>
+       
+       <list name="cmd.stop-sync">
+         <description>
+The command which is used to wait on the vserver after it has been
+stopped. Each option must be on a separate line. This file will be
+ignored when the <optionref>sync</optionref> flag does not exist and the
+'--sync' option was not used.
+          </description>
+       </list>
+       
+       <list name="cmd.prepare">
+         <description>
+The command which is used to setup the init-system (e.g. to set the
+runlevel in the utmp-file). Each option must be on a separate line.
+         </description>
+       </list>
+       
+       <boolean id="sync" name="sync">
+         <description>
+If this file is not present, all 'cmd.*-sync files will be ignored.
+           </description>
+       </boolean>
+       
+       <link name="tty">
+         <description>
+A symlink to the TTY device where input/output will be redirected
+from/to at startup via initscript.
+         </description>
+       </link>
+       
+       <scalar name="mark">
+         <description>
+This file is used to mark group of vservers which shall be started/stopped
+together by the initscript. Content is a simple string like 'default'.
+         </description>
+       </scalar>
+       
+       <list name="depends">
+         <description>
+This file is used to configure vservers which must be running before
+the current vserver can be started. At shutdown, the current vserver
+will be stopped before its dependencies. Content of this file are
+vserver ids (one name per line).
+          </description>
+       </list>
+      </collection>
+      
+      <collection name="vshelper">
+       <scalar name="sync-timeout">
+         <default>30</default>
+         <description>
+The timeout in seconds which is used when synchronising vserver
+startup/shutdown with the vshelper. When no set, 30 seconds will be
+assumed.
+         </description>
+       </scalar>
+       
+       <scalar name="action">
+         <default>restart</default>
+         <description>
+The action which is going to be executed when a vshelper event
+occurs. The default value is 'restart', but there can be defined own
+methods by placing scripts into the
+<optionref>vshelper-methods</optionref> directories. These scripts are
+fed with the same arguments as the <tool>vshelper</tool> script.
+          </description>
+       </scalar>
+       
+       <program name="event" type="symbolic">
+         <description>
+When existing, these scripts will be executed *instead* of the default
+handler defined in 'action'. Their name must match the event which caused
+the execution of <tool>vshelper</tool>; e.g. 'restart' or 'poweroff'. See
+the vs_reboot() function in the kernel for more details.
+          </description>
+         <parameterList>
+           <parameter name="xid">
+             <description>
+The xid of the context calling the vshelper
+              </description>
+           </parameter>
+           <parameter name="event">
+             <description>
+The reboot-event.
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+       
+       <boolean name="disabled">
+         <description>
+When existing, the vshelper functionality will be disabled for this
+vserver.
+          </description>
+       </boolean>
+
+       <boolean name="debug">
+         <description>
+When existing, the vshelper execution will be traced for this vserver.
+          </description>
+       </boolean>
+       
+       <boolean name="warning-disabled">
+         <description>
+When existing, sanity checks for the vshelper functionality will be
+skipped.
+          </description>
+       </boolean>
+       
+      </collection>
+      
+      <collection id="vshelper-methods" name="vshelper-methods">
+       <program name="handler" type="symbolic">
+         <description>
+See vshelper/action.
+          </description>
+       </program>
+      </collection>
+      
+      <collection name="vunify">
+       <description>
+This directory contains configuration data required for vserver
+unification.
+        </description>
+       
+       <list name="exclude">
+         <description>
+<p>Static list of files which are excluded for unification. This list
+supports an rsync-like syntax: when a file is prefixed by '+', it is a
+candidate for unification; when there is no prefix or a '-' or a '~' it
+will be excluded. Shell-wildcards are allowed for the filenames.</p>
+<p>When used with <tool>vcopy</tool>, the '~' prefix prevents copying
+of the file entirely (e.g. for keyfiles). With this tool, the file will
+be copied instead of hardlinked when the '-' prefix is used.</p>
+          </description>
+       </list>
+       
+       <link name="refserver.X" type="symbolic">
+         <description>
+These are symlinks to the configuration directory
+(e.g. CONFDIR/vservers/&lt;id&gt;) of a refserver. There may be
+multiple such symlinks but they must be prefixed by 'refserver.' and
+will be processed in alphanumerical order.
+          </description>
+       </link>
+
+       <collection name="hash" since="0.30.205">
+         <description>
+A directory which will be used as the storage place for the
+<tool>vhashify</tool> command.
+          </description>
+         <link name="id" type="symbolic">
+           <description>
+Points to a directory within the filesystems which are used for the
+vservers. There must be not more than one of such a directory per
+filesystem.
+            </description>
+         </link>
+
+         <scalar name="method"  since="0.30.299">
+           <default>SHA1</default>
+           <description>The used hash method.</description>
+         </scalar>
+       </collection>
+
+       <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
+         <description>
+When existing, information from packagemanagement will not be used to
+create dynamic exclude-lists.
+          </description>
+       </boolean>
+
+       <boolean name="pgkmgmt-force" default="off" since="0.30.205">
+         <description>
+When existing, information from packagemanagement will be used to
+create dynamic exclude-lists. This option requires that (a known)
+packagemanagement is configured for the vserver; else the requested
+operation will fail. Most tools assume 'on' as the default value.
+          </description>
+       </boolean>
+       
+      </collection>
+    </collection>
+    
+    <collection name="scripts">
+      <description>
+A directory for scripts. By default, when one of these scripts will be
+executed, the execution of defaultscripts (within .../.defaults/scripts)
+will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
+environment variable must be set by one of the in-shellcontext scripts
+(the non-executable ones).
+      </description>
+      
+      <program name="prepre-start">
+       <description>
+The scriptlet which will be executed before the network-interfaces are
+enabled and the directories are mounted. Before executing the script,
+the configuration directory will be made the working directory.
+        </description>
+       <parameterList>
+         <parameter name="vserver-dir">
+           <description>
+The configuration directory of the current vserver.
+            </description>
+         </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
+         <parameter name="action">
+           <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <collection name="prepre-start.d">
+       <description>
+Repository of prepre-start like scripts.  Before executing the script,
+the configuration directory will be made the working directory.
+        </description>                                                                                                                 
+       <program name="script" type="symbolic">
+         <description>See prepre-start.</description>
+         <parameterList>
+           <parameter name="vserver-dir">
+             <description>
+The configuration directory of the current vserver.
+              </description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>
+The name of the current vserver.
+              </description>
+           </parameter>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+      
+      <program name="pre-start">
+       <description>
+The scriptlet which will be executed after network-interfaces were
+enabled and the directories mounted, but before the vserver itself has
+been started.  Before executing the script, the vserver root directory
+will be made the working directory.
+        </description>
+       <parameterList>
+         <parameter name="vserver-dir">
+           <description>
+The configuration directory of the current vserver.
+            </description>
+         </parameter>
+         <parameter name="vserver-name">
+           <description>
+The name of the current vserver.
+            </description>
+         </parameter>
+         <parameter name="action">
+           <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <collection name="pre-start.d">
+       <description>
+Repository of pre-start like scripts. Before executing these scripts,
+the vserver root directory will be made the working directory.
+        </description>                                                                                                                 
+       <program name="script" type="symbolic">
+         <description>See pre-start.</description>
+         <parameterList>
+           <parameter name="vserver-dir">
+             <description>
+The configuration directory of the current vserver.
+              </description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>The name of the current vserver.</description>
+           </parameter>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+      
+
+      <program name="post-start">
+       <description>
+The scriptlet which will be executed after the vserver has been
+started. Before executing the script, the vserver root directory
+will be made the working directory.
+        </description>
+       <parameterList>
+         <parameter name="vserver-dir">
+           <description>The configuration directory of the current vserver.</description>
+         </parameter>
+         <parameter name="vserver-name">
+           <description>The name of the current vserver.</description>
+         </parameter>
+         <parameter name="action">
+           <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <collection name="post-start.d">
+       <description>
+Repository of post-start like scripts. Before executing these scripts,
+the vserver root directory will be made the working directory.
+        </description>
+       <program name="script" type="symbolic">
+         <description>See post-start.</description>
+         <parameterList>
+           <parameter name="vserver-dir">
+             <description>The configuration directory of the current vserver.</description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>The name of the current vserver.</description>
+           </parameter>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+
+
+      <program name="pre-stop">
+       <description>
+The scriptlet which will be executed before the vserver will be
+stopped. Before executing the script, the vserver root directory
+will be made the working directory.
+        </description>
+       <parameterList>
+         <parameter name="vserver-dir">
+           <description>The configuration directory of the current vserver.</description>
+         </parameter>
+         <parameter name="vserver-name">
+           <description>The name of the current vserver.</description>
+         </parameter>
+         <parameter name="action">
+           <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <collection name="pre-stop.d">
+       <description>
+Repository of pre-stop like scripts. Before executing the script, the
+vserver root directory will be made the working directory.
+        </description>                                                                                                                 
+       <program name="script" type="symbolic">
+         <description>See pre-stop.</description>
+         <parameterList>
+           <parameter name="vserver-dir">
+             <description>The configuration directory of the current vserver.</description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>The name of the current vserver.</description>
+           </parameter>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+
+      <program name="post-stop">
+       <description>
+The scriptlet which will be executed after the vserver has been
+stopped, but before the directories will be umounted and the the
+interfaces disabled. Before executing the script, the vserver root
+directory will be made the working directory.
+        </description>
+       <parameterList>
+         <parameter name="vserver-dir">
+           <description>The configuration directory of the current vserver.</description>
+         </parameter>
+         <parameter name="vserver-name">
+           <description>The name of the current vserver.</description>
+         </parameter>
+         <parameter name="action">
+           <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <collection name="post-stop.d">
+       <description>
+Repository of post-stop like scripts. Before executing the script, the
+vserver root directory will be made the working directory.
+        </description>
+       <program name="script" type="symbolic">
+         <description>See post-stop.</description>
+         <parameterList>
+           <parameter name="vserver-dir">
+             <description>The configuration directory of the current vserver.</description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>The name of the current vserver.</description>
+           </parameter>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+      
+      <program name="postpost-stop">
+       <description>
+The scriptlet which will be executed after the vserver has been stopped
+completely. Before executing the script, the vserver root directory
+will be made the working directory.
+        </description>
+       <parameterList>
+         <parameter name="vserver-dir">
+           <description>The configuration directory of the current vserver.</description>
+         </parameter>
+         <parameter name="vserver-name">
+           <description>The name of the current vserver.</description>
+         </parameter>
+         <parameter name="action">
+           <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+            </description>
+         </parameter>
+       </parameterList>
+      </program>
+      <collection name="postpost-stop.d">
+       <description>
+Repository of postpost-stop like scripts. Before executing the script,
+the vserver root directory will be made the working directory.
+        </description>
+       <program name="script" type="symbolic">
+         <description>See postpost-stop.</description>
+         <parameterList>
+           <parameter name="vserver-dir">
+             <description>The configuration directory of the current vserver.</description>
+           </parameter>
+           <parameter name="vserver-name">
+             <description>The name of the current vserver.</description>
+           </parameter>
+           <parameter name="action">
+             <description>
+The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
+              </description>
+           </parameter>
+         </parameterList>
+       </program>
+      </collection>
+    </collection>
+    
+    <collection name="interfaces">
+      <scalar name="bcast">
+       <description>The default broadcast address.</description>
+      </scalar>
+      <scalar name="dev">
+       <description>The default network device.</description>
+      </scalar>
+      <scalar name="prefix">
+       <description>The default network prefix-length.</description>
+      </scalar>
+      <scalar name="mask">
+       <description>The default network mask.</description>
+      </scalar>
+      <scalar name="scope">
+       <description>The default scope of the network interfaces.</description>
+      </scalar>
+      
+      <collection name="iface" type="symbolic">
+       <description>
+'iface' is an arbitrary name for the interface; the value itself is
+not important but may be interesting regarding interface-creation and
+usage with <tool>chbind</tool>. Both happens in alphabetical order and
+numbers like '00' are good names for these directories.
+        </description>
+       
+       <boolean name="disabled">
+         <description>When this file exists, this interface will be ignored.</description>
+       </boolean>
+       
+       <scalar name="ip">
+         <description>The ip which will be assigned to this interface.</description>
+       </scalar>
+       <scalar name="bcast">
+         <description>The broadcast address.</description>
+       </scalar>
+       <scalar name="dev">
+         <description>The network device.</description>
+       </scalar>
+       <scalar name="prefix">
+         <description>The network prefix-length.</description>
+       </scalar>
+       <scalar name="mask">
+         <description>The network mask.</description>
+       </scalar>
+       <scalar name="scope">
+         <description>The scope of the network interface.</description>
+       </scalar>
+       <scalar name="name">
+         <description>
+When this file exists, the interface will be named with the text in
+this file. Without such an entry, the IP will not be shown by
+<tool>ifconfig</tool> but by <command>ip addr ls</command> only.  Such
+a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
+          </description>
+       </scalar>
+       <boolean name="nodev">
+         <description>
+When this file exists, the interface will be assumed to exist
+already. This can be used to assign primary interfaces which are
+created by the host or another vserver.
+         </description>
+       </boolean>
+      </collection>
+    </collection>
+    
+    <collection name="ulimits">
+      <description>
+A directory with ulimits. Possible resources are cpu, data, fsize,
+locks, memlock, nofile, nproc, rss and/or stack. This configuration
+will be honored for kernel 2.4 only.
+      </description>                                                                                                                 
+      <scalar name="resource" type="symbolic">
+       <description>
+A file which contains the hard- and soft-limit of the given resource
+in the first line. The special keyword 'inf' is recognized.
+       </description>
+      </scalar>                                                                            
+      <scalar name="resource.hard" type="symbolic">
+       <description>
+A file which contains the hard- of the given resource in the first
+line. The special keyword 'inf' is recognized.
+       </description>
+      </scalar>                                                                                             
+      <scalar name="resource.soft" type="symbolic">
+       <description>
+A file which contains the soft- of the given resource in the first
+line. The special keyword 'inf' is recognized.
+       </description>
+      </scalar>
+    </collection>
+    
+    <collection name="rlimits">
+      <description>
+A directory with resource limits. Possible resources are cpu, fsize,
+data, stack, core, rss, nproc, nofile, memlock, as and locks. This
+configuration will be honored for kernel 2.6 only.
+      </description>                                                                                                                 
+      <scalar name="resource" type="symbolic">
+       <description>
+A file which contains the hard- and soft-limit of the given resource
+in the first line. The special keyword 'inf' is recognized.
+       </description>
+      </scalar>                                                                            
+      <scalar name="resource.hard" type="symbolic">
+       <description>
+A file which contains the hard- of the given resource in the first
+line. The special keyword 'inf' is recognized.
+       </description>
+      </scalar>                                                                                             
+      <scalar name="resource.soft" type="symbolic">
+       <description>
+A file which contains the soft- of the given resource in the first
+line. The special keyword 'inf' is recognized.
+       </description>
+      </scalar>
+      <scalar name="resource.min" type="symbolic">
+       <description>
+A file which contains the guaranted minimum of the given resource in
+the first line. The special keyword 'inf' is recognized.
+        </description>
+      </scalar>
+    </collection>
+    
+    <collection name="uts">
+      <scalar name="context">
+       <description>
+The context-name of the vserver. This file is listed for completeness
+only; the 'context' name is used and set internally by the util-vserver
+tools and can *not* be modified.
+       </description>
+      </scalar>
+      <scalar name="sysname">
+       <description>The sysname of the vserver</description>
+      </scalar>
+      <scalar name="nodename">
+       <description>The node-/hostname of the vserver</description>
+      </scalar>
+      <scalar name="release">
+       <description>The OS-release of the vserver</description>
+      </scalar>
+      <scalar name="version">
+       <description>The OS-version of the vserver</description>
+      </scalar>
+      <scalar name="machine">
+       <description>The machine-type of the vserver</description>
+      </scalar>
+      <scalar name="domainname">
+       <description>The NIS domainname of the vserver</description>
+      </scalar>
+    </collection>
+  </collection>
+  </database>