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