Fix typoed URL.
[util-vserver.git] / doc / configuration.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE database SYSTEM "configuration.dtd" []>
3 <!-- $Id$ -->
4
5 <database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6           xsi:noNamespaceSchemaLocation="file:configuration.xsd">
7
8   <!-- Global configuration -->
9   <collection name=".defaults" use="optional">
10     <collection name="init" type="fixed">
11       <data name="mtab">
12         <description>Default mtab file</description>
13       </data>
14     </collection>
15
16     <link name="vdirbase">
17       <default>/vservers</default>
18       <description>A link to the default vserver rootdirectory.</description>
19     </link>
20
21     <link name="cachebase">
22       <default>/var/cache/vservers</default>
23       <description>
24 A link to the directory which will hold cached information about
25 vservers.
26       </description>
27     </link>
28
29     <boolean id="global-nonamespace" name="nonamespace">
30       <description>
31 Disable namespace usage globally. It can be overridden for a single vserver
32 by setting the <optionref ref="global-namespace">namespace</optionref> flag
33 there.
34
35 In this mode the <directory>/vservers</directory> directory must have
36 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
37       </description>
38     </boolean>
39
40     <boolean id="global-namespace-cleanup" name="namespace-cleanup">
41       <description>
42 Enable namespace cleanup globally. It can be overridden for a single vserver
43 by setting the <optionref ref="global-nonamespace-cleanup">nonamespace-cleanup</optionref> flag
44 there.
45       </description>
46     </boolean>
47
48     <link name="run.rev">
49       <description>
50 Path of the vserver run reverse directory. This directory contains
51 symlinks named with XID numbers which point back to the configuration
52 directory of vservers. Under kernel 2.4 this is required for the XID
53 to VSERVER mapping; Under kernel 2.6 it is unused.
54
55 NOTE: this link exists in 0.30.202+ only; in previous versions it was
56 a vserver specific setting.
57       </description>
58     </link>
59     
60     <collection name="apps">
61       <collection name="pkgmgmt">
62         <link name="base">
63           <default>/vservers/.pkg</default>
64         </link> 
65         <data name="apt.conf">
66           <description>The default apt.conf which is going to be used. It is overridden by
67 distribution specific configuration file.
68           </description>
69         </data>
70       </collection>
71       
72       <collection name="debootstrap">
73         <scalar name="mirror">
74           <description>
75 The Debian mirror to use with the <tool>debootstrap</tool> program
76           </description>
77         </scalar>
78         <scalar name="uri">
79           <description>
80 When the <tool>debootstrap</tool> package is not installed; fetch it
81 from this uri and install it at a temporary place.
82           </description>
83         </scalar>
84       </collection>
85
86       <collection name="vshelper">
87         <link name="logfile">
88           <description>
89 The file where output will be logged to when <tool>vshelper</tool>
90 is invoked from the kernel. This should point somewhere e.g. into
91 <directory>/var/log</directory>.
92           </description>
93         </link>
94
95         <collection name="vshelper-methods">
96           <program name="handler" type="symbolic">
97             <description>
98 See vshelper/action.
99             </description>
100           </program>
101         </collection>
102
103         <boolean name="disabled">
104           <description>
105 When existing, the vshelper functionality will be disabled for all
106 vservers.
107           </description>
108         </boolean>
109
110         <boolean name="debug">
111           <description>
112 When existing, the vshelper execution will be traced.
113           </description>
114         </boolean>
115         
116         <boolean name="warning-disabled">
117           <description>
118 When existing, sanity checks for the vshelper functionality will be
119 skipped.
120           </description>
121         </boolean>
122
123       </collection>
124       
125       <collection name="vprocunhide">
126         <list name="files">
127           <description>
128 A list of files which will be made visible by vprocunhide. Wildcards are
129 allowed and anything ending in '/' will be processed recursively. When this file exists,
130 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
131 absolute filenames inclusive the leading '/proc'.
132           </description>
133         </list>
134       </collection>
135       
136       <collection name="init">
137         <link name="tty">
138           <description>
139 A symlink to the TTY device where input/output will be redirected from/to
140 at startup via initscript.
141           </description>
142         </link>
143
144         <hash id="global-environment" name="environment" since="0.30.211">
145           <description>
146 The environment to set when starting guests. Contains one VAR=VAL
147 pair per line.
148           </description>
149         </hash>
150       </collection>
151       
152       <collection name="vunify">
153         <list name="exclude">
154           <description>Static list of excluded files.</description>
155         </list>
156
157         <collection name="hash" since="0.30.205">
158           <description>
159 A directory which will be used as the storage place for the
160 <tool>vhashify</tool> command.
161           </description>
162           <link name="id" type="symbolic">
163             <description>
164 Points to a directory within the filesystems which are used for the
165 vservers. There must be not more than one of such a directory per
166 filesystem.
167             </description>
168           </link>
169
170           <scalar name="method" since="0.30.299">
171             <default>SHA1</default>
172             <description>The used hash method.</description>
173           </scalar>
174         </collection>
175
176         <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
177           <description>
178 When existing, information from packagemanagement will not be used to
179 create dynamic exclude-lists.
180           </description>
181         </boolean>
182
183         <boolean name="pgkmgmt-force" default="off" since="0.30.205">
184           <description>
185 When existing, information from packagemanagement will be used to
186 create dynamic exclude-lists. This option requires that (a known)
187 packagemanagement is configured for the vserver; else the requested
188 operation will fail. Most tools assume 'on' as the default value.
189           </description>
190         </boolean>
191
192       </collection>
193     </collection>
194
195     <collection name="interfaces" use="optional">
196       <boolean id="global-vlandev" name="vlandev" since="0.30.211">
197         <description>
198 When this file exists, the steps which setup and destroy a VLAN
199 interface will be executed.
200         </description>
201       </boolean>
202     </collection>
203   </collection>
204     
205   <collection name=".distributions" use="optional">
206     <collection name="dist" type="symbolic">
207       <scalar name="dev">
208         <description></description>
209       </scalar>
210       <collection name="yum">
211         <description>
212 The default, yum-related content of the <directory>/etc</directory>
213 directory.
214         </description>
215         <scalar name="yum.conf">
216           <description>
217 The master yum configuration file. It supports the @YUMETCDIR@,
218 @YUMCACHEDIR@ and @YUMLOGDIR@ placeholder which will be replaced at
219 <command>vserver ... build</command> time.
220           </description>
221         </scalar>
222       </collection>
223       <collection name="yum.repos.d">
224         <description>A directory with yum repositories.</description>
225       </collection>
226       <data name="apt.conf">
227         <description>
228 The default apt.conf which is going to be used. It overrides the
229 apt.conf from CONFDIR/.defaults/apps/pkgmgmt.
230         </description>
231       </data>
232       <program name="initpre">
233         <description>
234 Script which will be executed before packages will be installed.
235           </description>
236         <parameterList>
237           <parameter name="confdir">
238             <description>
239 The configuration directory of the vserver which is going to be set up.
240             </description>
241           </parameter>
242           <parameter name="util-vserver-vars">
243             <description>
244 The pathname of the util-vserver-vars file.
245             </description>
246           </parameter>
247         </parameterList>
248       </program>
249       <program name="initpost">
250         <description>
251 Script which will be executed after packages are installed.
252           </description>
253         <parameterList>
254           <parameter name="confdir">
255             <description>
256 The configuration directory of the vserver which is going to be set up.
257             </description>
258           </parameter>
259           <parameter name="vserver">
260             <description>
261 The pathname of the util-vserver-vars file.
262             </description>
263           </parameter>
264         </parameterList>
265       </program>
266       
267       <collection name="pkgs">
268         <description>
269 Contains files with packagenames.
270         </description>
271         <list name="list">
272           <description>
273 File which contains the name of packages. On top of file the special
274 keywords '--reinstall' and '--can-fail' are possible.
275           </description>
276         </list>
277       </collection>
278       
279       <collection name="pubkeys">
280         <description>
281 Directory with GPG pubkeys which are used to sign the packages of this
282 distribution.
283         </description>
284       </collection>
285       
286       <collection name="apt">
287         <description>
288 Default content of the <directory>/etc/apt/</directory> directory.
289         </description>
290       </collection>
291       
292       <collection name="rpm">
293         <description>
294 Default content of the <directory>/etc/rpm</directory> directory.
295         </description>
296       </collection>
297       
298       <link name="rpmlib">
299         <description>
300 Directory which overrides <directory>/usr/lib/rpm</directory>.
301         </description>
302       </link>
303       <link name="execdir">
304         <description>
305 Directory with all executables and libraries which are required for
306 this distribution.
307         </description>
308       </link>
309     </collection>
310   </collection>
311   
312   <!-- Vserver configuration -->
313   <collection name="vserver-name" type="symbolic">
314     <description>
315 The configuration directory for the vserver vserver-name.
316     </description>
317
318     <link name="cache">
319       <default>../.defaults/cachebase/VSERVERNAME</default>
320       <description>
321 Path of the storage area for cached information about this vserver.
322       </description>
323     </link>
324     
325     <link name="vdir">
326       <default>../.defaults/vdirbase/VSERVERNAME</default>
327       <description>
328 Path of the vserver root directory.
329       </description>
330     </link>
331
332     <link name="run">
333       <description>
334 Points to a file which will contain the XID of the running vserver. When
335 the vserver is stopped, this can be a dangling symlink.
336       </description>
337     </link>
338
339     <list id="bcapabilities" name="bcapabilities">
340       <description>
341 [experimental; name is subject of possible change] Contains the system capabilities. See
342 <ulink url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/bcaps-v13.c">lib/bcaps-v13.c</ulink>
343 for possible values.
344       </description>
345     </list>
346     <list name="ccapabilities">
347       <description>
348 [experimental; name is subject of possible change] Contains the
349 context capabilities. See <ulink
350 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/ccaps-v13.c">lib/ccaps-v13.c</ulink>
351 for possible values.
352       </description>
353     </list>
354
355     <boolean id="global-namespace" name="namespace">
356       <description>
357 Overrides the global <optionref ref="global-nonamespace">nonamespace</optionref> flag and enables
358 namespace usage for the current vserver.
359       </description>
360     </boolean>
361
362     <boolean name="nonamespace">
363       <description>
364 Disables namespace usage for the current vserver.
365
366 In this mode the <directory>/vservers</directory> directory must have
367 the 'barrier' attribute. Else, common chroot(2) exploits are possible.
368       </description>
369     </boolean>
370
371     <boolean id="global-nonamespace-cleanup" name="nonamespace-cleanup">
372       <description>
373 Overrides the global <optionref ref="global-namespace-cleanup">namespace-cleanup</optionref> flag and disables
374 namespace cleanup for the current vserver.
375       </description>
376     </boolean>
377
378     <boolean name="namespace-cleanup">
379       <description>
380 Enable namespace cleanup for the current vserver.
381       </description>
382     </boolean>
383
384     <hash name="schedule">
385       <description>
386 [experimental; name is subject of possible change] Contains the
387 scheduler parameters, one per line.
388
389 The Hard CPU limit uses a mechanism called a Token Bucket.  the
390 concept is simple: you have a bucket of a certain size which is
391 filled with a specified amount R of tokens each interval T until the
392 maximum is reached (excess tokens are spilled). At each timer tick,
393 a running process consumes one token from the bucket, unless the
394 bucket is empty. If the bucket is empty the process is put in the
395 hold queue. When the bucket has been refilled to at least M tokens,
396 all on hold processes are rescheduled.
397
398 See the <ulink url="http://linux-vserver.org/Scheduler+Parameters">Linux
399 VServer Wiki</ulink> for more information about this file.
400       </description>
401       <keys>
402         <key id="fill_rate" name="fill-rate">
403           <description>
404 Amount of tokens append to the bucket each interval.
405             </description>
406         </key>
407         <key name="interval">
408           <description>
409 The intervall between refills of amount <optionref>fill_rate</optionref>. This
410 value is express in ticks.
411           </description>
412         </key>
413         <key name="tokens">
414           <description>
415 Initial bucket contents.
416           </description>
417         </key>
418         <key name="tokens-min">
419           <description>
420 The minimum amount of tokens required to unhold processes
421           </description>
422         </key>
423         <key name="tokens-max">
424           <description>
425 The bucket size.
426           </description>
427         </key>
428         <key name="priority-bias">
429           <description>
430 ???
431           </description>
432         </key>
433       </keys>
434     </hash>
435     <scalar name="name">
436       <description>
437 Contains the name of the vserver. When not given, the basename of the directory
438 will be assumed as this name.
439       </description>
440     </scalar>
441     <scalar name="nice">
442       <description>
443 The nice-level on which the vserver will be started.
444       </description>
445     </scalar>
446     <list name="capabilities">
447       <description>
448 Contains per line a capability. This file is used for the 2.4 kernel
449 only; for 2.6 use <optionref>bcapabilities</optionref>.
450       </description>
451     </list>
452     <scalar name="shell">
453       <description>
454 Contains the pathname of the shell which will be used by the "vserver
455 ... enter" command.
456       </description>
457     </scalar>
458     <list name="personality">
459       <description>
460 Used to set the personality of the vserver. First line in the file
461 is the personality-type followed by flags (one item per line). See
462 <filename>/usr/include/linux/personality.h</filename> for possible
463 values.
464       </description>
465     </list>
466     <list name="flags">
467       <description>
468 Contains per line a flag. See <ulink
469 url="http://svn.linux-vserver.org/svn/util-vserver/trunk/lib/cflags-v13.c">lib/cflags-v13.c</ulink>
470 for possible values.
471       </description>
472       <!--
473       <elements>
474         <element name="fakeinit">
475           <description>
476 The new process will believe it is process number 1. Useful to run a
477 real /sbin/init in a vserver. Warning: this flag should not be used
478 unless you know what you are doing. Often, it is better to use the
479 'plain' initstyle.
480           </description>
481         </element>
482         <element name="lock">
483           <description>
484 The new process is trapped and can't use chcontext anymore.
485           </description>
486         </element>
487         <element name="sched">
488           <description>
489 The new process and its children will share a common
490           </description>
491         </element>
492         <element name="nproc">
493           <description>
494 Limit the number of process in the vserver according to
495 ulimit setting. Normally, ulimit is a per user thing.
496 With this flag, it becomes a per vserver thing.  
497           </description>
498         </element>
499         <element name="private">
500           <description>
501 No one can join this security context once created.
502           </description>
503         </element>
504         <element name="ulimit">
505           <description>
506 Apply the current ulimit to the whole context
507           </description>
508         </element>
509       </elements>
510       -->
511     </list>
512     <scalar name="context">
513       <description>
514 Contains the context which shall be used for the vserver.
515         </description>
516     </scalar>
517     <data id="fstab" name="fstab">
518       <description>
519 The fstab file for the vserver. Entries in this file will be mounted
520 within the network context of the host. Use the
521 <optionref>fstab.remote</optionref> file when you want that the
522 mounting happens in the network context of the vserver. In most cases
523 the 'fstab' file should be used.
524       </description>
525     </data>
526     <data id="fstab.remote" name="fstab.remote">
527       <description>
528 The fstab file for the vserver. Entries in this file will be mounted
529 within the network context of the host; this means that mount will be
530 called as <command>chbind &lt;options&gt; mount ...</command>. See
531 <optionref>fstab</optionref> also.
532       </description>
533     </data>
534     
535     <collection name="apps">
536       <collection name="init">
537         <data name="mtab">
538           <description>
539 The initial-mtab which will be used for the vserver.
540           </description>
541         </data>
542         
543         <scalar name="style">
544           <description>
545 Contains the init-style.
546           </description>
547           <restriction>
548             <enumeration value="sysv"/>
549             <enumeration value="plain"/>
550             <enumeration value="minit"/>
551           </restriction>
552         </scalar>
553         
554         <scalar name="runlevel">
555           <description>The start runlevel.</description>
556         </scalar>
557         
558         <scalar name="runlevel.start">
559           <description>The start runlevel.</description>
560         </scalar>
561         
562         <scalar name="runlevel.stop">
563           <description>The stop runlevel.</description>
564         </scalar>
565         
566         <scalar name="killseq">
567           <description>
568 Contains the 'signal [wait signal]*' sequence which is used to stop
569 the vserver.
570           </description>
571         </scalar>
572         
573         <list name="cmd.start">
574           <description>
575 The command which is used to start the vserver. Each option must be on
576 a separate line.
577           </description>
578         </list>
579         
580         <list name="cmd.start-sync">
581           <description>
582 The command which is used to wait on the vserver after it has been
583 started. Each option must be on a separate line. This file will be
584 ignored when the <optionref>sync</optionref> flag does not exist and the
585 '--sync' option was not used.
586           </description>
587         </list>
588         
589         <list name="cmd.stop">
590           <description>
591 The command which is used to stop the vserver. Each option must be on
592 a separate line.
593           </description>
594         </list>
595         
596         <list name="cmd.stop-sync">
597           <description>
598 The command which is used to wait on the vserver after it has been
599 stopped. Each option must be on a separate line. This file will be
600 ignored when the <optionref>sync</optionref> flag does not exist and the
601 '--sync' option was not used.
602           </description>
603         </list>
604         
605         <list name="cmd.prepare">
606           <description>
607 The command which is used to setup the init-system (e.g. to set the
608 runlevel in the utmp-file). Each option must be on a separate line.
609           </description>
610         </list>
611         
612         <boolean id="sync" name="sync">
613           <description>
614 If this file is not present, all 'cmd.*-sync files will be ignored.
615             </description>
616         </boolean>
617         
618         <link name="tty">
619           <description>
620 A symlink to the TTY device where input/output will be redirected
621 from/to at startup via initscript.
622           </description>
623         </link>
624         
625         <scalar name="mark">
626           <description>
627 This file is used to mark group of vservers which shall be started/stopped
628 together by the initscript. Content is a simple string like 'default'.
629           </description>
630         </scalar>
631         
632         <list name="depends">
633           <description>
634 This file is used to configure vservers which must be running before
635 the current vserver can be started. At shutdown, the current vserver
636 will be stopped before its dependencies. Content of this file are
637 vserver ids (one name per line).
638           </description>
639         </list>
640
641         <hash name="environment" since="0.30.211">
642           <description>
643 The environment to set when starting the guest. Contains one VAR=VAL
644 pair per line.
645           </description>
646         </hash>
647       </collection>
648       
649       <collection name="vshelper">
650         <scalar name="sync-timeout">
651           <default>30</default>
652           <description>
653 The timeout in seconds which is used when synchronising vserver
654 startup/shutdown with the vshelper. When not set, 30 seconds will be
655 assumed.
656           </description>
657         </scalar>
658         
659         <scalar name="action">
660           <default>restart</default>
661           <description>
662 The action which is going to be executed when a vshelper event
663 occurs. The default value is 'restart', but there can be defined own
664 methods by placing scripts into the
665 <optionref>vshelper-methods</optionref> directories. These scripts are
666 fed with the same arguments as the <tool>vshelper</tool> script.
667           </description>
668         </scalar>
669         
670         <program name="event" type="symbolic">
671           <description>
672 When existing, these scripts will be executed *instead* of the default
673 handler defined in 'action'. Their name must match the event which caused
674 the execution of <tool>vshelper</tool>; e.g. 'restart' or 'poweroff'. See
675 the vs_reboot() function in the kernel for more details.
676           </description>
677           <parameterList>
678             <parameter name="xid">
679               <description>
680 The xid of the context calling the vshelper
681               </description>
682             </parameter>
683             <parameter name="event">
684               <description>
685 The reboot-event.
686               </description>
687             </parameter>
688           </parameterList>
689         </program>
690         
691         <boolean name="disabled">
692           <description>
693 When existing, the vshelper functionality will be disabled for this
694 vserver.
695           </description>
696         </boolean>
697
698         <boolean name="debug">
699           <description>
700 When existing, the vshelper execution will be traced for this vserver.
701           </description>
702         </boolean>
703         
704         <boolean name="warning-disabled">
705           <description>
706 When existing, sanity checks for the vshelper functionality will be
707 skipped.
708           </description>
709         </boolean>
710         
711       </collection>
712       
713       <collection id="vshelper-methods" name="vshelper-methods">
714         <program name="handler" type="symbolic">
715           <description>
716 See vshelper/action.
717           </description>
718         </program>
719       </collection>
720       
721       <collection name="vunify">
722         <description>
723 This directory contains configuration data required for vserver
724 unification.
725         </description>
726         
727         <list name="exclude">
728           <description>
729 <p>Static list of files which are excluded for unification. This list
730 supports an rsync-like syntax: when a file is prefixed by '+', it is a
731 candidate for unification; when there is no prefix or a '-' or a '~' it
732 will be excluded. Shell-wildcards are allowed for the filenames.</p>
733 <p>When used with <tool>vcopy</tool>, the '~' prefix prevents copying
734 of the file entirely (e.g. for keyfiles). With this tool, the file will
735 be copied instead of hardlinked when the '-' prefix is used.</p>
736           </description>
737         </list>
738         
739         <link name="refserver.X" type="symbolic">
740           <description>
741 These are symlinks to the configuration directory
742 (e.g. CONFDIR/vservers/&lt;id&gt;) of a refserver. There may be
743 multiple such symlinks but they must be prefixed by 'refserver.' and
744 will be processed in alphanumerical order.
745           </description>
746         </link>
747
748         <collection name="hash" since="0.30.205">
749           <description>
750 A directory which will be used as the storage place for the
751 <tool>vhashify</tool> command.
752           </description>
753           <link name="id" type="symbolic">
754             <description>
755 Points to a directory within the filesystems which are used for the
756 vservers. There must be not more than one of such a directory per
757 filesystem.
758             </description>
759           </link>
760
761           <scalar name="method"  since="0.30.299">
762             <default>SHA1</default>
763             <description>The used hash method.</description>
764           </scalar>
765         </collection>
766
767         <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
768           <description>
769 When existing, information from packagemanagement will not be used to
770 create dynamic exclude-lists.
771           </description>
772         </boolean>
773
774         <boolean name="pgkmgmt-force" default="off" since="0.30.205">
775           <description>
776 When existing, information from packagemanagement will be used to
777 create dynamic exclude-lists. This option requires that (a known)
778 packagemanagement is configured for the vserver; else the requested
779 operation will fail. Most tools assume 'on' as the default value.
780           </description>
781         </boolean>
782         
783       </collection>
784     </collection>
785     
786     <collection name="scripts">
787       <description>
788 A directory for scripts. By default, when one of these scripts will be
789 executed, the execution of defaultscripts (within .../.defaults/scripts)
790 will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
791 environment variable must be set by one of the in-shellcontext scripts
792 (the non-executable ones).
793       </description>
794       
795       <program name="initialize" since="0.30.211">
796         <description>
797 The scriptlet which will be executed before the root filesystem is mounted and
798 the configuration has been loaded. Before executing the script, the
799 configuration directory will be made the working directory.
800         </description>
801         <parameterList>
802           <parameter name="action">
803             <description>
804 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
805             </description>
806           </parameter>
807           <parameter name="vserver-name">
808             <description>
809 The name of the current vserver.
810             </description>
811           </parameter>
812         </parameterList>
813       </program>
814       <collection name="initialize.d" since="0.30.211">
815         <description>
816 Repository of initialize like scripts.  Before executing the script,
817 the configuration directory will be made the working directory.
818         </description>                                                                                                                 
819         <program name="script" type="symbolic">
820           <description>See initialize.</description>
821           <parameterList>
822             <parameter name="action">
823               <description>
824 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
825               </description>
826             </parameter>
827             <parameter name="vserver-name">
828               <description>
829 The name of the current vserver.
830               </description>
831             </parameter>
832           </parameterList>
833         </program>
834       </collection>
835       
836       <program name="prepre-start">
837         <description>
838 The scriptlet which will be executed before the network-interfaces are
839 enabled and the directories are mounted. Before executing the script,
840 the configuration directory will be made the working directory.
841         </description>
842         <parameterList>
843           <parameter name="action">
844             <description>
845 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
846             </description>
847           </parameter>
848           <parameter name="vserver-name">
849             <description>
850 The name of the current vserver.
851             </description>
852           </parameter>
853         </parameterList>
854       </program>
855       <collection name="prepre-start.d">
856         <description>
857 Repository of prepre-start like scripts.  Before executing the script,
858 the configuration directory will be made the working directory.
859         </description>                                                                                                                 
860         <program name="script" type="symbolic">
861           <description>See prepre-start.</description>
862           <parameterList>
863             <parameter name="action">
864               <description>
865 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
866               </description>
867             </parameter>
868             <parameter name="vserver-name">
869               <description>
870 The name of the current vserver.
871               </description>
872             </parameter>
873           </parameterList>
874         </program>
875       </collection>
876       
877       <program name="pre-start">
878         <description>
879 The scriptlet which will be executed after network-interfaces were
880 enabled and the directories mounted, but before the vserver itself has
881 been started.  Before executing the script, the vserver root directory
882 will be made the working directory.
883         </description>
884         <parameterList>
885           <parameter name="action">
886             <description>
887 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
888             </description>
889           </parameter>
890           <parameter name="vserver-name">
891             <description>
892 The name of the current vserver.
893             </description>
894           </parameter>
895         </parameterList>
896       </program>
897       <collection name="pre-start.d">
898         <description>
899 Repository of pre-start like scripts. Before executing these scripts,
900 the vserver root directory will be made the working directory.
901         </description>                                                                                                                 
902         <program name="script" type="symbolic">
903           <description>See pre-start.</description>
904           <parameterList>
905             <parameter name="action">
906               <description>
907 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
908               </description>
909             </parameter>
910             <parameter name="vserver-name">
911               <description>
912 The name of the current vserver.
913               </description>
914             </parameter>
915           </parameterList>
916         </program>
917       </collection>
918       
919
920       <program name="post-start">
921         <description>
922 The scriptlet which will be executed after the vserver has been
923 started. Before executing the script, the vserver root directory
924 will be made the working directory.
925         </description>
926         <parameterList>
927           <parameter name="action">
928             <description>
929 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
930             </description>
931           </parameter>
932           <parameter name="vserver-name">
933             <description>
934 The name of the current vserver.
935             </description>
936           </parameter>
937         </parameterList>
938       </program>
939       <collection name="post-start.d">
940         <description>
941 Repository of post-start like scripts. Before executing these scripts,
942 the vserver root directory will be made the working directory.
943         </description>
944         <program name="script" type="symbolic">
945           <description>See post-start.</description>
946           <parameterList>
947             <parameter name="action">
948               <description>
949 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
950               </description>
951             </parameter>
952             <parameter name="vserver-name">
953               <description>
954 The name of the current vserver.
955               </description>
956             </parameter>
957           </parameterList>
958         </program>
959       </collection>
960
961
962       <program name="pre-stop">
963         <description>
964 The scriptlet which will be executed before the vserver will be
965 stopped. Before executing the script, the vserver root directory
966 will be made the working directory.
967         </description>
968         <parameterList>
969           <parameter name="action">
970             <description>
971 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
972             </description>
973           </parameter>
974           <parameter name="vserver-name">
975             <description>
976 The name of the current vserver.
977             </description>
978           </parameter>
979         </parameterList>
980       </program>
981       <collection name="pre-stop.d">
982         <description>
983 Repository of pre-stop like scripts. Before executing the script, the
984 vserver root directory will be made the working directory.
985         </description>                                                                                                                 
986         <program name="script" type="symbolic">
987           <description>See pre-stop.</description>
988           <parameterList>
989             <parameter name="action">
990               <description>
991 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
992               </description>
993             </parameter>
994             <parameter name="vserver-name">
995               <description>
996 The name of the current vserver.
997               </description>
998             </parameter>
999           </parameterList>
1000         </program>
1001       </collection>
1002
1003       <program name="post-stop">
1004         <description>
1005 The scriptlet which will be executed after the vserver has been
1006 stopped, but before the directories will be umounted and the the
1007 interfaces disabled. Before executing the script, the vserver root
1008 directory will be made the working directory.
1009         </description>
1010         <parameterList>
1011           <parameter name="action">
1012             <description>
1013 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1014             </description>
1015           </parameter>
1016           <parameter name="vserver-name">
1017             <description>
1018 The name of the current vserver.
1019             </description>
1020           </parameter>
1021         </parameterList>
1022       </program>
1023       <collection name="post-stop.d">
1024         <description>
1025 Repository of post-stop like scripts. Before executing the script, the
1026 vserver root directory will be made the working directory.
1027         </description>
1028         <program name="script" type="symbolic">
1029           <description>See post-stop.</description>
1030           <parameterList>
1031             <parameter name="action">
1032               <description>
1033 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1034               </description>
1035             </parameter>
1036             <parameter name="vserver-name">
1037               <description>
1038 The name of the current vserver.
1039               </description>
1040             </parameter>
1041           </parameterList>
1042         </program>
1043       </collection>
1044       
1045       <program name="postpost-stop">
1046         <description>
1047 The scriptlet which will be executed after the vserver has been stopped
1048 completely. Before executing the script, the vserver root directory
1049 will be made the working directory.
1050         </description>
1051         <parameterList>
1052           <parameter name="action">
1053             <description>
1054 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1055             </description>
1056           </parameter>
1057           <parameter name="vserver-name">
1058             <description>
1059 The name of the current vserver.
1060             </description>
1061           </parameter>
1062         </parameterList>
1063       </program>
1064       <collection name="postpost-stop.d">
1065         <description>
1066 Repository of postpost-stop like scripts. Before executing the script,
1067 the vserver root directory will be made the working directory.
1068         </description>
1069         <program name="script" type="symbolic">
1070           <description>See postpost-stop.</description>
1071           <parameterList>
1072             <parameter name="action">
1073               <description>
1074 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1075               </description>
1076             </parameter>
1077             <parameter name="vserver-name">
1078               <description>
1079 The name of the current vserver.
1080               </description>
1081             </parameter>
1082           </parameterList>
1083         </program>
1084       </collection>
1085     </collection>
1086     
1087     <collection name="interfaces">
1088       <scalar name="bcast">
1089         <description>The default broadcast address.</description>
1090       </scalar>
1091       <scalar name="dev">
1092         <description>The default network device.</description>
1093       </scalar>
1094       <scalar name="prefix">
1095         <description>The default network prefix-length.</description>
1096       </scalar>
1097       <scalar name="mask">
1098         <description>The default network mask.</description>
1099       </scalar>
1100       <scalar name="scope">
1101         <description>The default scope of the network interfaces.</description>
1102       </scalar>
1103       <boolean id="local-vlandev" name="vlandev" since="0.30.211">
1104         <description>
1105 When this file exists, the steps which setup and destroy a VLAN
1106 interface will be executed for all interfaces of this vserver.
1107         </description>
1108       </boolean>
1109       <boolean id="local-novlandev" name="novlandev">
1110         <description>
1111 When this file exists, the steps which setup and destroy a VLAN
1112 interface will be skipped. This overrides the global
1113 <optionref ref="global-vlandev">vlandev</optionref> setting for
1114 this vserver.
1115         </description>
1116       </boolean>
1117       
1118       <collection name="iface" type="symbolic">
1119         <description>
1120 'iface' is an arbitrary name for the interface; the value itself is
1121 not important but may be interesting regarding interface-creation and
1122 usage with <tool>chbind</tool>. Both happens in alphabetical order and
1123 numbers like '00' are good names for these directories.
1124         </description>
1125         
1126         <boolean name="disabled">
1127           <description>When this file exists, this interface will be ignored.</description>
1128         </boolean>
1129         
1130         <scalar name="ip">
1131           <description>The ip which will be assigned to this interface.</description>
1132         </scalar>
1133         <scalar name="bcast">
1134           <description>The broadcast address.</description>
1135         </scalar>
1136         <scalar name="dev">
1137           <description>The network device.</description>
1138         </scalar>
1139         <scalar name="prefix">
1140           <description>The network prefix-length.</description>
1141         </scalar>
1142         <scalar name="mask">
1143           <description>The network mask.</description>
1144         </scalar>
1145         <scalar name="scope">
1146           <description>The scope of the network interface.</description>
1147         </scalar>
1148         <scalar name="name">
1149           <description>
1150 When this file exists, the interface will be named with the text in
1151 this file. Without such an entry, the IP will not be shown by
1152 <tool>ifconfig</tool> but by <command>ip addr ls</command> only.  Such
1153 a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
1154           </description>
1155         </scalar>
1156         <boolean name="nodev">
1157           <description>
1158 When this file exists, the interface will be assumed to exist
1159 already. This can be used to assign primary interfaces which are
1160 created by the host or another vserver.
1161           </description>
1162         </boolean>
1163         <boolean name="novlandev">
1164           <description>
1165 When this file exists, the steps which setup and destroy a VLAN
1166 interface will be skipped. This will override the global
1167 <optionref ref="global-vlandev">vlandev</optionref> and the per-guest
1168 <optionref ref="local-vlandev">vlandev</optionref>.
1169           </description>
1170         </boolean>
1171         <boolean name="vlandev" since="0.30.211">
1172           <description>
1173 When this file exists, the steps which setup and destroy a VLAN
1174 interface will be executed.
1175           </description>
1176         </boolean>
1177       </collection>
1178     </collection>
1179     
1180     <collection name="ulimits">
1181       <description>
1182 A directory with ulimits. Possible resources are cpu, data, fsize,
1183 locks, memlock, nofile, nproc, rss and/or stack. This configuration
1184 will be honored for kernel 2.4 only.
1185       </description>                                                                                                                 
1186       <scalar name="resource" type="symbolic">
1187         <description>
1188 A file which contains the hard- and soft-limit of the given resource
1189 in the first line. The special keyword 'inf' is recognized.
1190         </description>
1191       </scalar>                                                                            
1192       <scalar name="resource.hard" type="symbolic">
1193         <description>
1194 A file which contains the hard- of the given resource in the first
1195 line. The special keyword 'inf' is recognized.
1196         </description>
1197       </scalar>                                                                                             
1198       <scalar name="resource.soft" type="symbolic">
1199         <description>
1200 A file which contains the soft- of the given resource in the first
1201 line. The special keyword 'inf' is recognized.
1202         </description>
1203       </scalar>
1204     </collection>
1205     
1206     <collection name="rlimits">
1207       <description>
1208 A directory with resource limits. Possible resources are cpu, fsize,
1209 data, stack, core, rss, nproc, nofile, memlock, as and locks. This
1210 configuration will be honored for kernel 2.6 only.
1211       </description>                                                                                                                 
1212       <scalar name="resource" type="symbolic">
1213         <description>
1214 A file which contains the hard- and soft-limit of the given resource
1215 in the first line. The special keyword 'inf' is recognized.
1216         </description>
1217       </scalar>                                                                            
1218       <scalar name="resource.hard" type="symbolic">
1219         <description>
1220 A file which contains the hard- of the given resource in the first
1221 line. The special keyword 'inf' is recognized.
1222         </description>
1223       </scalar>                                                                                             
1224       <scalar name="resource.soft" type="symbolic">
1225         <description>
1226 A file which contains the soft- of the given resource in the first
1227 line. The special keyword 'inf' is recognized.
1228         </description>
1229       </scalar>
1230       <scalar name="resource.min" type="symbolic">
1231         <description>
1232 A file which contains the guaranted minimum of the given resource in
1233 the first line. The special keyword 'inf' is recognized.
1234         </description>
1235       </scalar>
1236     </collection>
1237     
1238     <collection name="uts">
1239       <scalar name="context">
1240         <description>
1241 The context-name of the vserver. This file is listed for completeness
1242 only; the 'context' name is used and set internally by the util-vserver
1243 tools and can *not* be modified.
1244         </description>
1245       </scalar>
1246       <scalar name="sysname">
1247         <description>The sysname of the vserver</description>
1248       </scalar>
1249       <scalar name="nodename">
1250         <description>The node-/hostname of the vserver</description>
1251       </scalar>
1252       <scalar name="release">
1253         <description>The OS-release of the vserver</description>
1254       </scalar>
1255       <scalar name="version">
1256         <description>The OS-version of the vserver</description>
1257       </scalar>
1258       <scalar name="machine">
1259         <description>The machine-type of the vserver</description>
1260       </scalar>
1261       <scalar name="domainname">
1262         <description>The NIS domainname of the vserver</description>
1263       </scalar>
1264     </collection>
1265
1266     <collection name="dlimits" since="0.30.210">
1267       <collection name="dlimit" type="symbolic">
1268         <scalar name="directory">
1269           <description>The directory to which the limit should be applied</description>
1270         </scalar>
1271         <scalar name="inodes_total">
1272           <description>The amount of inodes this vserver should be limited to</description>
1273         </scalar>
1274         <scalar name="space_total">
1275           <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
1276         </scalar>
1277         <scalar name="reserved">
1278           <description>How much space (percentage-wise) should be reserved for the root user</description>
1279         </scalar>
1280       </collection>
1281     </collection>
1282
1283     <collection name="cpuset" since="0.30.211">
1284       <scalar name="name">
1285         <description>The name of the cpuset for this vserver</description>
1286       </scalar>
1287       <scalar name="cpus">
1288         <description>The list of CPUs in this cpuset</description>
1289       </scalar>
1290       <scalar name="mems">
1291         <description>The list of Memory Nodes in this cpuset</description>
1292       </scalar>
1293       <scalar name="cpu_exclusive">
1294         <description>Is the CPU assignment exclusive?</description>
1295       </scalar>
1296       <scalar name="mems_exclusive">
1297         <description>Is the memory node assignment exclusive?</description>
1298       </scalar>
1299       <scalar name="nocreate">
1300         <description>When this file exists, the cpuset will be assumed to exist already</description>
1301       </scalar>
1302     </collection>
1303   </collection>
1304   </database>