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