added Vector_zeroEnd() function
[util-vserver.git] / util-vserver / doc / configuration.xml
index 183d519..cef952c 100644 (file)
-<?xml version="1.0"?>
-<!DOCTYPE cfgdirdoc SYSTEM "cfgdirdoc.dtd" [
-<!ENTITY init-scriptlet-params
-         "<params>
-           <param id='vserver-dir'>
-             <description>The configuration directory of the current vserver</description>
-           </param>
-           <param id='vserver-name'>
-             <description>The name of the current vserver</description>
-           </param>
-           <param id='action'>
-             <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop', ...).</description>
-           </param>
-         </params>">
-<!ENTITY init-script-text     "The scriptlet">
-<!ENTITY init-dir-text        "A directory with scriptlets">
-<!ENTITY init-dir-script-text "A scriptlet">
-
-<!ENTITY init-prepre-start "which will be executed before the network-interfaces are enabled
-                           and the directories are mounted.">
-<!ENTITY init-pre-start  "which will be executed after network-interfaces were enabled and
-                          the directories mounted, but before the vserver itself has been
-                          started.">
-<!ENTITY init-post-start "which will be executed after the vserver has been started.">
-<!ENTITY init-pre-stop   "which will be executed before the vserver will be stopped.">
-<!ENTITY init-post-stop  "which will be executed after the vserver has been stopped, but
-                         before the directories will be umounted and the the interfaces
-                          disabled.">
-<!ENTITY init-postpost-stop "which will be executed after the vserver has been stopped
-                            completely.">
-]>
-
-
-<cfgdirdoc>
-  <topleveldir path="@CONFDIR@">
-    <description>The base configuration directory.</description>
-
-    <dir name=".defaults" type="fixed" optional="yes">
-      <dir name="init" type="fixed">
-       <file name="mtab">
-         <description>Default mtab-file</description>
-       </file>
-      </dir>
-
-      <symlink name="vdirbase">
-       <description></description>
-       <default>/vservers</default>
-      </symlink>
-
-      <dir name="apps" type="fixed">
-       <dir name="pkgmgmt" type="fixed">
-         <symlink name="base">
-           <description></description>
-           <default>/vservers/.pkg</default>
-         </symlink>
-       </dir>
-
-       <dir name="debootstrap" type="fixed">
-         <file name="mirror">
-           <description>The Debian mirror which is used for 'debootstrap'.</description>
-         </file>
-
-         <file name="uri">
-           <description>When the 'debootstrap' package is not installed; fetch it from this uri and
-           install it at a temporary place.</description>
-         </file>
-       </dir>
-      </dir>
-    </dir>
-
-    <dir name=".distributions" type="fixed" optional="yes">
-      <dir name="dist" type="symbolic">
-       <file name="dev">
-         <description></description>
-       </file>
-
-       <script name="initpre">
-         <description>Script which will be executed before packages will be installed.</description>
-         <params>
-           <param id="confdir">
-             <description>The configuration directory of the vserver which is going to be set
-             up.</description>
-           </param>
-
-           <param id="vserver">
-             <description>The pathname of the vserver binary.</description>
-           </param>
-         </params>
-       </script>
-
-       <script name="initpost">
-         <description>Script which will be executed after packages are installed.</description>
-         <params>
-           <param id="confdir">
-             <description>The configuration directory of the vserver which is going to be set
-             up.</description>
-           </param>
-
-           <param id="vserver">
-             <description>The pathname of the vserver binary.</description>
-           </param>
-         </params>
-       </script>
-
-       <dir name="pkgs" type="fixed">
-         <description>Contains files with packages.</description>
-         <file name="list" type="symbolic">
-           <description>File which contains the name of packages. On top of file the special
-           keywords '--reinstall' and '--can-fail' are possible.</description>
-         </file>
-       </dir>
-
-       <dir name="pubkeys" type="fixed">
-         <description>Directory with GPG pubkeys which are used to sign the packages of this
-         distribution.</description>
-       </dir>
-
-       <dir name="apt" type="fixed">
-         <description>Default content of the /etc/apt/ directory.</description>
-       </dir>
-
-       <dir name="rpm" type="fixed">
-         <description>Default content of the /etc/rpm directory.</description>
-       </dir>
-
-       <symlink name="rpmlib">
-         <description>Directory which overrides /usr/lib/rpm.</description>
-       </symlink>
-       
-       <symlink name="execdir">
-         <description>Directory with all executables and libraries which are required for this
-         distribution.</description>
-       </symlink>
-      </dir>
-    </dir> <!-- .distributions -->
-
-    <dir name="vserver-name" type="symbolic">
-      <description>The configuration directory for the vserver vserver-name.</description>
-
-      <file name="hostname">
-       <description>Contains the hostname of the vserver.</description>
-      </file>
-
-      <file name="name">
-       <description>Contains the name of the vserver. When not given, the basename of the directory
-       will be assumed as this name.</description>
-      </file>
-
-      <file name="domainname">
-       <description>The domainname of the vserver.</description>
-      </file>
-
-      <file name="nice">
-       <description>The nice-level on which the vserver will be started.</description>
-      </file>
-
-      <file name="capabilities">
-       <description>Contains per line a capability.</description>
-      </file>
-
-      <file name="shell">
-       <description>Contains the pathname of the shell which will be used by the "vserver ... enter"
-       command.</description>
-      </file>
-
-      <file name="flags">
-       <description>Contains per line a flag.</description>
-      </file>
-
-      <file name="context">
-       <description>Contains the context which shall be used for the vserver.</description>
-      </file>
-
-      <file name="fstab">
-       <description>The fstab file for the vserver.</description>
-      </file>
-      
-      <dir name="apps" type="fixed">
-       <dir name="init" type="fixed">
-         <file name="mtab">
-           <description>The initial-mtab which will be used for the vserver.</description>
-         </file>
-
-         <file name="style">
-           <description>Contains the init-style; possible values are 'sysv', 'plain' and
-           'minit'.</description>
-         </file>
-
-         <file name="runlevel">
-           <description>The start runlevel.</description>
-         </file>
-
-         <file name="runlevel.start">
-           <description>The start runlevel.</description>
-         </file>
-
-         <file name="runlevel.stop">
-           <description>The stop runlevel.</description>
-         </file>
-
-         <file name="killseq">
-           <description>Contains the 'signal [wait signal]*' sequence which is used to stop the
-           vserver.</description>
-         </file>
-
-         <file name="cmd.start">
-           <description>The command which is used to start the vserver. Each option must be on a
-           separate line.</description>
-         </file>
-
-         <file 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
-           'sync' does not exist and the '--sync' option was not used.</description>
-         </file>
-         
-         <file name="cmd.stop">
-           <description>The command which is used to stop the vserver. Each option must be on a
-           separate line.</description>
-         </file>
-
-         <file 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
-           'sync' does not exist and the '--sync' option was not used.</description>
-         </file>
-
-         <file 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>
-         </file>
-
-         <file name="sync">
-           <description>Without this file, the 'cmd.*-sync' files will be ignored.</description>
-         </file>
-       </dir>
-      </dir>
-
-      <dir name="scripts" type="fixed">
-       <script name="prepre-start">
-         <description>&init-script-text; &init-prepre-start;</description>
-         &init-scriptlet-params;
-       </script>
-       <dir name="prepre-start.d" type="fixed">
-         <description>&init-dir-text; &init-prepre-start;</description>
-
-         <script name="script">
-           <description>&init-dir-script-text; &init-prepre-start;</description>
-           &init-scriptlet-params;
-         </script>
-       </dir>
-
-       <script name="pre-start">
-         <description>&init-script-text; &init-pre-start;</description>
-         &init-scriptlet-params;
-       </script>
-
-       <dir name="pre-start.d">
-         <description>&init-dir-text; &init-pre-start;</description>
-         
-         <script name="script">
-           <description>&init-dir-script-text; &init-pre-start;</description>
-           &init-scriptlet-params;
-         </script>
-         
-       </dir>
-
-       <script name="post-start">
-         <description>&init-script-text; &init-post-start;</description>
-         &init-scriptlet-params;
-       </script>
-
-       <dir name="post-start.d">
-         <description>&init-dir-text; &init-post-start;</description>
-         
-         <script name="script">
-           <description>&init-dir-script-text; &init-post-start;</description>
-           &init-scriptlet-params;
-         </script>
-       </dir>
-
-       <script name="pre-stop">
-         <description>&init-script-text; &init-pre-stop;</description>
-         &init-scriptlet-params;
-       </script>
-
-       <dir name="pre-stop.d" type="fixed">
-         <description>&init-dir-text; &init-pre-stop;</description>
-         <script name="script">
-           <description>&init-dir-script-text; &init-pre-stop;</description>
-           &init-scriptlet-params;
-         </script>
-       </dir>
-
-       <script name="post-stop">
-         <description>&init-script-text; &init-post-stop;</description>
-         &init-scriptlet-params;
-       </script>
-
-       <dir name="post-stop.d" type="fixed">
-         <description>&init-dir-text; &init-post-stop;</description>
-         <script name="script">
-           <description>&init-dir-script-text; &init-post-stop;</description>
-           &init-scriptlet-params;
-         </script>
-       </dir>
-
-       <script name="postpost-stop">
-         <description>&init-script-text; &init-postpost-stop;</description>
-         &init-scriptlet-params;
-       </script>
-
-       <dir name="postpost-stop.d" type="fixed">
-         <description>&init-dir-text; &init-postpost-stop;</description>
-         <script name="script">
-           <description>&init-dir-script-text; &init-postpost-stop;</description>
-           &init-scriptlet-params;
-         </script>
-       </dir>
-      </dir>
-
-
-      
-      <dir name="interfaces" type="fixed">
-       <file name="bcast">
-         <description>The deafult broadcast address.</description>
-       </file>
-       <file name="dev">
-         <description>The default network-device.</description>
-       </file>
-       <file name="prefix">
-         <description>The default network-prefix.</description>
-       </file>
-       <file name="mask">
-         <description>The default network-mask.</description>
-       </file>
-       <file name="scope">
-         <description>The default scope of the network interfaces.</description>
-       </file>
-
-       <dir name="iface" type="symbolic">
-         <file name="disabled">
-           <description>When this file exists, this interface will be ignored.</description>
-         </file>
-         
-         <file name="ip">
-           <description>The ip which will be assigned to this interface.</description>
-         </file>
-         <file name="bcast">
-           <description>The broadcast address.</description>
-         </file>
-         <file name="dev">
-           <description>The network-device.</description>
-         </file>
-         <file name="prefix">
-           <description>The network-prefix.</description>
-         </file>
-         <file name="mask">
-           <description>The network-mask.</description>
-         </file>
-         <file name="scope">
-           <description>The scope of the network interfaces.</description>
-         </file>
-         <file name="name">
-           <description>When this file exists, the interface will be named.</description>
-         </file>
-       </dir>
-      </dir>
-
-      <dir name="ulimits" type="fixed">
-       <description>A directory with ulimits.</description>
-
-       <file 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>
-       </file>
-
-       <file 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>
-       </file>
-
-       <file 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>
-       </file>
-      </dir>
-    </dir>
-  </topleveldir>
-</cfgdirdoc>
-
-
-<!--
-!! Local Variables:
-!! fill-column: 100
-!! End:
--->
+<?xml version="1.0" encoding="UTF-8"?>
+<database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+          xsi:noNamespaceSchemaLocation="file:filesystem-database.xsd">
+
+ <!-- Global configuration -->
+ <collection name=".default" use="optional">
+  <collection name="init" type="fixed">
+   <data name="mtab">
+    <description>Default mtab file</description>
+   </data>
+  </collection>
+
+  <link name="vdirbase">
+   <default>/vservers</default>
+  </link>
+  
+  <collection name="apps">
+    <collection name="vunify">
+                  <link name="logfile">
+                   <description>
+                    The file where output will be logged to when 'vshelper' is invoked from the
+                    kernel. This should point somewhere e.g. into /var/log.
+                   </description>
+                 </link>
+
+    </collection>
+   <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 'debootstrap' program
+     </description>
+    </scalar>
+    <scalar name="uri">
+     <description>
+      When the 'debootstrap' package is not installed; fetch it from this uri and
+      install it at a temporary place.
+     </description>
+    </scalar>
+   </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>
+  </collection>
+   
+  <collection name=".distributions" use="optional">
+   <collection name="dist" type="symbolic">
+    <scalar name="dev">
+     <description>
+     </description>
+    </scalar>
+    <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 packages.
+     </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 /etc/apt/ directory.
+     </description>
+    </collection>
+    
+    <collection name="rpm">
+     <description>
+      Default content of the /etc/rpm directory.
+     </description>
+    </collection>
+    
+    <link name="rpmlib">
+     <description>
+      Directory which overrides /usr/lib/rpm.
+     </description>
+    </link>
+    <link name="execdir">
+     <description>
+      Directory with all executables and libraries which are required for this
+      distribution.
+     </description>
+    </link>
+   </collection>
+  </collection>
+ </collection>
+ <!-- Vserver configuration -->
+ <collection name="vserver-name" type="symbolic">
+  <description>
+   The configuration directory for the vserver vserver-name.
+  </description>
+  
+  <list name="bcapabilities">
+   <description>
+    [experimental; name is subject of possible change] Contains the system capabilities.
+   </description>
+  </list>
+  <list name="ccapabilities">
+   <description>
+    [experimental; name is subject of possible change] Contains the context capabilities.
+   </description>
+  </list>
+  <hash name="schedule">
+   <description>
+    [experimental; name is subject of possible change] Contains the scheduler parameters, 
+    one per line.
+   </description>
+   <keys>
+    <key name="fill-rate">
+     <description>
+     </description>
+    </key>
+    <key name="interval">
+     <description>
+     </description>
+    </key>
+    <key name="tokens">
+     <description>
+     </description>
+    </key>
+     <key name="tokens-min">
+     <description>
+     </description>
+    </key>
+    <key name="tokens-max">
+     <description>
+     </description>
+    </key>
+    <key name="cpu-mask">
+     <description>
+     </description>
+    </key>
+   </keys>
+  </hash>
+  <scalar name="hostname">
+   <description>
+    Contains the hostname of the vserver. Same as uts/nodename.
+   </description>
+  </scalar>
+  <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="domainname">
+   <description>
+    The domainname of the vserver. Same as uts/domainname.
+   </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
+   </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="flags">
+   <description>
+    Contains per line a flag.
+   </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.
+     </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 name="fstab">
+   <description>
+    The fstab file for the vserver. Entries in this file will be mounted within the
+    network context of the vserver; this means that mount will be called as 'chbind &lt;options&gt;
+    mount ...'. Use the 'fstab.local' file when you do not want this behavior, but in most cases
+    the 'fstab' file should be used.
+   </description>
+  </data>
+  <data name="fstab.local">
+   <description>
+    The fstab file for the vserver. In opposite to the normal 'fstab' file, the
+    mounting happens in the local network context. Currently there is no way to mix entries of
+    both files; 'fstab' will be always processed before 'fstab.local'.
+   </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
+                   'sync' 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
+      'sync' 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 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">
+                  <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>
+                  <default>30</default>
+                 </scalar>
+                                                                                                                                         
+                 <scalar name="action">
+                  <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 'vshelper-methods' directories. These scripts are fed with the same arguments as the
+                   'vshelper' script.
+                  </description>
+                  <default>restart</default>
+                 </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 'vshelper'; 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="warning-disabled">
+                   <description>
+                    When existing, sanity checks for the vshelper functionality will be
+                    skipped.
+                   </description>
+                 </boolean>
+                                                                                                                                         
+   </collection>
+   
+   <collection 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>
+                    Static list of excluded files. This list supports an rsync syntax: when a
+                    file is prefixed by '+', it is a candidate for unification; when there is no prefix or a
+                    '-' it will be excluded. Shell-wildcards are allowed for the filenames.
+                   </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>
+  </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."
+    </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
+    </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.
+    </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
+    </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.
+    </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
+    </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.
+    </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
+    </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.
+    </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
+    </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.
+    </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
+    </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.</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 'chbind'. 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.</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.
+                  </description>
+                 </scalar>
+                 <boolean name="nodev">
+                  <description>
+                   When this file exists, the interface will be assumed to exist already. A
+                   former name for this flag was 'only_ip' which is deprecated now.
+                  </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.
+                       </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 ulimits. Possible resources are cpu, data, fsize, locks,
+                        memlock, nofile, nproc, rss and/or stack.
+                       </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="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>