474b4cea88f67fd2483b205a209213e05eda5046
[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 id which shall be used for the vserver. Valid range is 2 through 49151.
640         </description>
641     </scalar>
642     <scalar name="ncontext">
643       <description>
644 Contains the network context id which shall be used for the vserver. Valid range is 2 through 49151.
645       </description>
646     </scalar>
647     <scalar name="tag">
648       <description>
649 Contains the filesystem tag which shall be used for the vserver. Valid range is 2 through 49151.
650       </description>
651     </scalar>
652     <data id="fstab" name="fstab">
653       <description>
654 The fstab file for the vserver. Entries in this file will be mounted
655 within the network context of the host. Use the
656 <optionref>fstab.remote</optionref> file when you want that the
657 mounting happens in the network context of the vserver. In most cases
658 the 'fstab' file should be used.
659       </description>
660     </data>
661     <data id="fstab.remote" name="fstab.remote">
662       <description>
663 The fstab file for the vserver. Entries in this file will be mounted
664 within the network context of the guest; this means that mount will be
665 called as <command>chbind &lt;options&gt; mount ...</command>. See
666 <optionref>fstab</optionref> also.
667       </description>
668     </data>
669     <scalar name="badness">
670       <description>
671 Contains the bias to be applied to processes in this guest when the OOM-killer strikes.
672       </description>
673     </scalar>
674     
675     <collection name="apps">
676       <collection name="init">
677         <data name="mtab">
678           <description>
679 The initial-mtab which will be used for the vserver.
680           </description>
681         </data>
682         
683         <scalar name="style">
684           <description>
685 Contains the init-style.
686           </description>
687           <restriction>
688             <enumeration value="sysv"/>
689             <enumeration value="plain"/>
690             <enumeration value="minit"/>
691           </restriction>
692         </scalar>
693         
694         <scalar name="runlevel">
695           <description>The start runlevel.</description>
696         </scalar>
697         
698         <scalar name="runlevel.start">
699           <description>The start runlevel.</description>
700         </scalar>
701         
702         <scalar name="runlevel.stop">
703           <description>The stop runlevel.</description>
704         </scalar>
705         
706         <scalar name="killseq">
707           <description>
708 Contains the 'signal [wait signal]*' sequence which is used to stop
709 the vserver.
710           </description>
711         </scalar>
712         
713         <list name="cmd.start">
714           <description>
715 The command which is used to start the vserver. Each option must be on
716 a separate line.
717           </description>
718         </list>
719         
720         <list name="cmd.start-sync">
721           <description>
722 The command which is used to wait on the vserver after it has been
723 started. Each option must be on a separate line. This file will be
724 ignored when the <optionref>sync</optionref> flag does not exist and the
725 '--sync' option was not used.
726           </description>
727         </list>
728         
729         <list name="cmd.stop">
730           <description>
731 The command which is used to stop the vserver. Each option must be on
732 a separate line.
733           </description>
734         </list>
735         
736         <list name="cmd.stop-sync">
737           <description>
738 The command which is used to wait on the vserver after it has been
739 stopped. Each option must be on a separate line. This file will be
740 ignored when the <optionref>sync</optionref> flag does not exist and the
741 '--sync' option was not used.
742           </description>
743         </list>
744         
745         <list name="cmd.prepare">
746           <description>
747 The command which is used to setup the init-system (e.g. to set the
748 runlevel in the utmp-file). Each option must be on a separate line.
749           </description>
750         </list>
751         
752         <boolean id="sync" name="sync">
753           <description>
754 If this file is not present, all 'cmd.*-sync files will be ignored.
755             </description>
756         </boolean>
757         
758         <link name="tty">
759           <description>
760 A symlink to the TTY device where input/output will be redirected
761 from/to at startup via initscript.
762           </description>
763         </link>
764         
765         <scalar name="mark">
766           <description>
767 This file is used to mark group of vservers which shall be started/stopped
768 together by the initscript. Content is a simple string like 'default'.
769           </description>
770         </scalar>
771         
772         <list name="depends">
773           <description>
774 This file is used to configure vservers which must be running before
775 the current vserver can be started. At shutdown, the current vserver
776 will be stopped before its dependencies. Content of this file are
777 vserver ids (one name per line).
778           </description>
779         </list>
780
781         <hash name="environment" since="0.30.211">
782           <description>
783 The environment to set when starting the guest. Contains one VAR=VAL
784 pair per line.
785           </description>
786         </hash>
787       </collection>
788       
789       <collection name="vshelper">
790         <scalar name="sync-timeout">
791           <default>30</default>
792           <description>
793 The timeout in seconds which is used when synchronising vserver
794 startup/shutdown with the vshelper. When not set, 30 seconds will be
795 assumed.
796           </description>
797         </scalar>
798         
799         <scalar id="vshelper-action" name="action">
800           <default>restart</default>
801           <description>
802 The action which is going to be executed when a vshelper event
803 occurs. The default value is 'restart', but there can be defined own
804 methods by placing scripts into the
805 <optionref>vshelper-methods</optionref> directories. These scripts are
806 fed with the same arguments as the <tool>vshelper</tool> script.
807           </description>
808         </scalar>
809         
810         <program name="event" type="symbolic">
811           <description>
812 When existing, these scripts will be executed *instead* of the default
813 handler defined in 'action'. Their name must match the event which caused
814 the execution of <tool>vshelper</tool>; e.g. 'restart' or 'poweroff'. See
815 the vs_reboot() function in the kernel for more details.
816           </description>
817           <parameterList>
818             <parameter name="xid">
819               <description>
820 The xid of the context calling the vshelper
821               </description>
822             </parameter>
823             <parameter name="event">
824               <description>
825 The reboot-event.
826               </description>
827             </parameter>
828           </parameterList>
829         </program>
830         
831         <boolean name="disabled">
832           <description>
833 When existing, the vshelper functionality will be disabled for this
834 vserver.
835           </description>
836         </boolean>
837
838         <boolean name="debug">
839           <description>
840 When existing, the vshelper execution will be traced for this vserver.
841           </description>
842         </boolean>
843         
844         <boolean name="warning-disabled">
845           <description>
846 When existing, sanity checks for the vshelper functionality will be
847 skipped.
848           </description>
849         </boolean>
850         
851       </collection>
852       
853       <collection id="vshelper-methods" name="vshelper-methods">
854         <program name="handler" type="symbolic">
855           <description>
856 See <optionref ref="vshelper-action">vshelper/action</optionref>.
857           </description>
858         </program>
859       </collection>
860       
861       <collection name="vunify">
862         <description>
863 This directory contains configuration data required for vserver
864 unification.
865         </description>
866         
867         <list name="exclude">
868           <description>
869 <p>Static list of files which are excluded for unification. This list
870 supports an rsync-like syntax: when a file is prefixed by '+', it is a
871 candidate for unification; when there is no prefix or a '-' or a '~' it
872 will be excluded. Shell-wildcards are allowed for the filenames.</p>
873 <p>When used with <tool>vcopy</tool>, the '~' prefix prevents copying
874 of the file entirely (e.g. for keyfiles). With this tool, the file will
875 be copied instead of hardlinked when the '-' prefix is used.</p>
876           </description>
877         </list>
878         
879         <link name="refserver.X" type="symbolic">
880           <description>
881 These are symlinks to the configuration directory
882 (e.g. CONFDIR/vservers/&lt;id&gt;) of a refserver. There may be
883 multiple such symlinks but they must be prefixed by 'refserver.' and
884 will be processed in alphanumerical order.
885           </description>
886         </link>
887
888         <collection name="hash" since="0.30.205">
889           <description>
890 A directory which will be used as the storage place for the
891 <tool>vhashify</tool> command.
892           </description>
893           <link name="id" type="symbolic">
894             <description>
895 Points to a directory within the filesystems which are used for the
896 vservers. There must be not more than one of such a directory per
897 filesystem.
898             </description>
899           </link>
900
901           <scalar name="method"  since="0.30.299">
902             <default>SHA1</default>
903             <description>The used hash method.</description>
904           </scalar>
905         </collection>
906
907         <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
908           <description>
909 When existing, information from packagemanagement will not be used to
910 create dynamic exclude-lists.
911           </description>
912         </boolean>
913
914         <boolean name="pgkmgmt-force" default="off" since="0.30.205">
915           <description>
916 When existing, information from packagemanagement will be used to
917 create dynamic exclude-lists. This option requires that (a known)
918 packagemanagement is configured for the vserver; else the requested
919 operation will fail. Most tools assume 'on' as the default value.
920           </description>
921         </boolean>
922         
923       </collection>
924     </collection>
925     
926     <collection name="scripts">
927       <description>
928 A directory for scripts. By default, when one of these scripts will be
929 executed, the execution of defaultscripts (within .../.defaults/scripts)
930 will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
931 environment variable must be set by one of the in-shellcontext scripts
932 (the non-executable ones).
933       </description>
934       
935       <program name="initialize" since="0.30.211">
936         <description>
937 The scriptlet which will be executed before the root filesystem is mounted and
938 the configuration has been loaded. Before executing the script, the
939 configuration directory will be made the working directory.
940         </description>
941         <parameterList>
942           <parameter name="action">
943             <description>
944 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
945             </description>
946           </parameter>
947           <parameter name="vserver-name">
948             <description>
949 The name of the current vserver.
950             </description>
951           </parameter>
952         </parameterList>
953       </program>
954       <collection name="initialize.d" since="0.30.211">
955         <description>
956 Repository of initialize like scripts.  Before executing the script,
957 the configuration directory will be made the working directory.
958         </description>
959         <program name="script" type="symbolic">
960           <description>See initialize.</description>
961           <parameterList>
962             <parameter name="action">
963               <description>
964 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
965               </description>
966             </parameter>
967             <parameter name="vserver-name">
968               <description>
969 The name of the current vserver.
970               </description>
971             </parameter>
972           </parameterList>
973         </program>
974       </collection>
975       
976       <program name="prepre-start">
977         <description>
978 The scriptlet which will be executed before the network-interfaces are
979 enabled and the directories are mounted. Before executing the script,
980 the configuration directory will be made the working directory.
981         </description>
982         <parameterList>
983           <parameter name="action">
984             <description>
985 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
986             </description>
987           </parameter>
988           <parameter name="vserver-name">
989             <description>
990 The name of the current vserver.
991             </description>
992           </parameter>
993         </parameterList>
994       </program>
995       <collection name="prepre-start.d">
996         <description>
997 Repository of prepre-start like scripts.  Before executing the script,
998 the configuration directory will be made the working directory.
999         </description>
1000         <program name="script" type="symbolic">
1001           <description>See prepre-start.</description>
1002           <parameterList>
1003             <parameter name="action">
1004               <description>
1005 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1006               </description>
1007             </parameter>
1008             <parameter name="vserver-name">
1009               <description>
1010 The name of the current vserver.
1011               </description>
1012             </parameter>
1013           </parameterList>
1014         </program>
1015       </collection>
1016       
1017       <program name="pre-start">
1018         <description>
1019 The scriptlet which will be executed after network-interfaces were
1020 enabled and the directories mounted, but before the vserver itself has
1021 been started.  Before executing the script, the vserver root directory
1022 will be made the working directory.
1023         </description>
1024         <parameterList>
1025           <parameter name="action">
1026             <description>
1027 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1028             </description>
1029           </parameter>
1030           <parameter name="vserver-name">
1031             <description>
1032 The name of the current vserver.
1033             </description>
1034           </parameter>
1035         </parameterList>
1036       </program>
1037       <collection name="pre-start.d">
1038         <description>
1039 Repository of pre-start like scripts. Before executing these scripts,
1040 the vserver root directory will be made the working directory.
1041         </description>
1042         <program name="script" type="symbolic">
1043           <description>See pre-start.</description>
1044           <parameterList>
1045             <parameter name="action">
1046               <description>
1047 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1048               </description>
1049             </parameter>
1050             <parameter name="vserver-name">
1051               <description>
1052 The name of the current vserver.
1053               </description>
1054             </parameter>
1055           </parameterList>
1056         </program>
1057       </collection>
1058       
1059
1060       <program name="post-start">
1061         <description>
1062 The scriptlet which will be executed after the vserver has been
1063 started. Before executing the script, the vserver root directory
1064 will be made the working directory.
1065         </description>
1066         <parameterList>
1067           <parameter name="action">
1068             <description>
1069 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1070             </description>
1071           </parameter>
1072           <parameter name="vserver-name">
1073             <description>
1074 The name of the current vserver.
1075             </description>
1076           </parameter>
1077         </parameterList>
1078       </program>
1079       <collection name="post-start.d">
1080         <description>
1081 Repository of post-start like scripts. Before executing these scripts,
1082 the vserver root directory will be made the working directory.
1083         </description>
1084         <program name="script" type="symbolic">
1085           <description>See post-start.</description>
1086           <parameterList>
1087             <parameter name="action">
1088               <description>
1089 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1090               </description>
1091             </parameter>
1092             <parameter name="vserver-name">
1093               <description>
1094 The name of the current vserver.
1095               </description>
1096             </parameter>
1097           </parameterList>
1098         </program>
1099       </collection>
1100
1101
1102       <program name="pre-stop">
1103         <description>
1104 The scriptlet which will be executed before the vserver will be
1105 stopped. Before executing the script, the vserver root directory
1106 will be made the working directory.
1107         </description>
1108         <parameterList>
1109           <parameter name="action">
1110             <description>
1111 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1112             </description>
1113           </parameter>
1114           <parameter name="vserver-name">
1115             <description>
1116 The name of the current vserver.
1117             </description>
1118           </parameter>
1119         </parameterList>
1120       </program>
1121       <collection name="pre-stop.d">
1122         <description>
1123 Repository of pre-stop like scripts. Before executing the script, the
1124 vserver root directory will be made the working directory.
1125         </description>
1126         <program name="script" type="symbolic">
1127           <description>See pre-stop.</description>
1128           <parameterList>
1129             <parameter name="action">
1130               <description>
1131 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1132               </description>
1133             </parameter>
1134             <parameter name="vserver-name">
1135               <description>
1136 The name of the current vserver.
1137               </description>
1138             </parameter>
1139           </parameterList>
1140         </program>
1141       </collection>
1142
1143       <program name="post-stop">
1144         <description>
1145 The scriptlet which will be executed after the vserver has been
1146 stopped, but before the directories will be umounted and the the
1147 interfaces disabled. Before executing the script, the vserver root
1148 directory will be made the working directory.
1149         </description>
1150         <parameterList>
1151           <parameter name="action">
1152             <description>
1153 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1154             </description>
1155           </parameter>
1156           <parameter name="vserver-name">
1157             <description>
1158 The name of the current vserver.
1159             </description>
1160           </parameter>
1161         </parameterList>
1162       </program>
1163       <collection name="post-stop.d">
1164         <description>
1165 Repository of post-stop like scripts. Before executing the script, the
1166 vserver root directory will be made the working directory.
1167         </description>
1168         <program name="script" type="symbolic">
1169           <description>See post-stop.</description>
1170           <parameterList>
1171             <parameter name="action">
1172               <description>
1173 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1174               </description>
1175             </parameter>
1176             <parameter name="vserver-name">
1177               <description>
1178 The name of the current vserver.
1179               </description>
1180             </parameter>
1181           </parameterList>
1182         </program>
1183       </collection>
1184       
1185       <program name="postpost-stop">
1186         <description>
1187 The scriptlet which will be executed after the vserver has been stopped
1188 completely. Before executing the script, the vserver root directory
1189 will be made the working directory.
1190         </description>
1191         <parameterList>
1192           <parameter name="action">
1193             <description>
1194 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1195             </description>
1196           </parameter>
1197           <parameter name="vserver-name">
1198             <description>
1199 The name of the current vserver.
1200             </description>
1201           </parameter>
1202         </parameterList>
1203       </program>
1204       <collection name="postpost-stop.d">
1205         <description>
1206 Repository of postpost-stop like scripts. Before executing the script,
1207 the vserver root directory will be made the working directory.
1208         </description>
1209         <program name="script" type="symbolic">
1210           <description>See postpost-stop.</description>
1211           <parameterList>
1212             <parameter name="action">
1213               <description>
1214 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
1215               </description>
1216             </parameter>
1217             <parameter name="vserver-name">
1218               <description>
1219 The name of the current vserver.
1220               </description>
1221             </parameter>
1222           </parameterList>
1223         </program>
1224       </collection>
1225     </collection>
1226     
1227     <collection name="interfaces">
1228       <scalar name="bcast">
1229         <description>The guest's broadcast address.</description>
1230       </scalar>
1231       <scalar name="lback">
1232         <description>The guest's loopback address.</description>
1233       </scalar>
1234       <scalar name="dev">
1235         <description>The default network device. See <optionref ref="per-if-dev">iface/dev</optionref> for more information.</description>
1236       </scalar>
1237       <scalar name="prefix">
1238         <description>The default network prefix-length.</description>
1239       </scalar>
1240       <scalar name="mask">
1241         <description>The default network mask.</description>
1242       </scalar>
1243       <scalar name="scope">
1244         <description>The default scope of the network interfaces.</description>
1245       </scalar>
1246       <boolean id="local-vlandev" name="vlandev" since="0.30.211">
1247         <description>
1248 When this file exists, the steps which setup and destroy a VLAN
1249 interface will be executed for all interfaces of this vserver.
1250         </description>
1251       </boolean>
1252       <boolean id="local-novlandev" name="novlandev">
1253         <description>
1254 When this file exists, the steps which setup and destroy a VLAN
1255 interface will be skipped. This overrides the global
1256 <optionref ref="global-vlandev">vlandev</optionref> setting for
1257 this vserver.
1258         </description>
1259       </boolean>
1260       
1261       <collection name="iface" type="symbolic">
1262         <description>
1263 'iface' is an arbitrary name for the interface; the value itself is
1264 not important but may be interesting regarding interface-creation and
1265 usage with <tool>chbind</tool>. Both happens in alphabetical order and
1266 numbers like '00' are good names for these directories.
1267         </description>
1268         
1269         <boolean name="disabled">
1270           <description>When this file exists, this interface will be ignored.</description>
1271         </boolean>
1272         
1273         <scalar name="ip">
1274           <description>The IP address which will be assigned to this interface.</description>
1275         </scalar>
1276         <scalar name="dev" id="per-if-dev">
1277           <description>The network device. When this is specified, the IP address will be assigned and removed when starting and stopping the guest.</description>
1278         </scalar>
1279         <scalar name="prefix">
1280           <description>The network prefix-length.</description>
1281         </scalar>
1282         <scalar name="mask">
1283           <description>The network mask.</description>
1284         </scalar>
1285         <scalar name="scope">
1286           <description>The scope of the network interface.</description>
1287         </scalar>
1288         <scalar name="name">
1289           <description>
1290 When this file exists, the interface will be named with the text in
1291 this file. Without such an entry, the IP will not be shown by
1292 <tool>ifconfig</tool> but by <command>ip addr ls</command> only.  Such
1293 a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
1294           </description>
1295         </scalar>
1296         <boolean name="nodev">
1297           <description>
1298 When this file exists, the interface will be assumed to exist
1299 already. This can be used to assign primary interfaces which are
1300 created by the host or another vserver.
1301           </description>
1302         </boolean>
1303         <boolean name="novlandev">
1304           <description>
1305 When this file exists, the steps which setup and destroy a VLAN
1306 interface will be skipped. This will override the global
1307 <optionref ref="global-vlandev">vlandev</optionref> and the per-guest
1308 <optionref ref="local-vlandev">vlandev</optionref>.
1309           </description>
1310         </boolean>
1311         <boolean name="vlandev" since="0.30.211">
1312           <description>
1313 When this file exists, the steps which setup and destroy a VLAN
1314 interface will be executed.
1315           </description>
1316         </boolean>
1317       </collection>
1318     </collection>
1319     
1320     <collection name="ulimits">
1321       <description>
1322 A directory with ulimits. Possible resources are cpu, data, fsize,
1323 locks, memlock, nofile, nproc, rss and/or stack.
1324       </description>
1325       <scalar name="resource" type="symbolic">
1326         <description>
1327 A file which contains the hard- and soft-limit of the given resource
1328 in the first line. The special keyword 'inf' is recognized.
1329         </description>
1330       </scalar>
1331       <scalar name="resource.hard" type="symbolic">
1332         <description>
1333 A file which contains the hard-limit of the given resource in the first
1334 line. The special keyword 'inf' is recognized.
1335         </description>
1336       </scalar>
1337       <scalar name="resource.soft" type="symbolic">
1338         <description>
1339 A file which contains the soft-limit of the given resource in the first
1340 line. The special keyword 'inf' is recognized.
1341         </description>
1342       </scalar>
1343     </collection>
1344     
1345     <collection name="rlimits">
1346       <description>
1347 A directory with resource limits. Possible resources are cpu, fsize,
1348 data, stack, core, rss, nproc, nofile, memlock, as, locks, msgqueue,
1349 nsock, openfd, anon, shmem, semary, nsems and dentry. This
1350 configuration will be honored for kernel 2.6 only.
1351       </description>
1352       <scalar name="resource" type="symbolic">
1353         <description>
1354 A file which contains the hard- and soft-limit of the given resource
1355 in the first line. The special keyword 'inf' is recognized.
1356         </description>
1357       </scalar>
1358       <scalar name="resource.hard" type="symbolic">
1359         <description>
1360 A file which contains the hard-limit of the given resource in the first
1361 line. The special keyword 'inf' is recognized.
1362         </description>
1363       </scalar>
1364       <scalar name="resource.soft" type="symbolic">
1365         <description>
1366 A file which contains the soft-limit of the given resource in the first
1367 line. The special keyword 'inf' is recognized.
1368         </description>
1369       </scalar>
1370       <scalar name="resource.min" type="symbolic">
1371         <description>
1372 A file which contains the guaranteed minimum of the given resource in
1373 the first line. The special keyword 'inf' is recognized.
1374         </description>
1375       </scalar>
1376     </collection>
1377     
1378     <collection name="uts">
1379       <scalar name="context">
1380         <description>
1381 The context-name of the vserver. This file is listed for completeness
1382 only; the 'context' name is used and set internally by the util-vserver
1383 tools and can *not* be modified.
1384         </description>
1385       </scalar>
1386       <scalar name="sysname">
1387         <description>The sysname of the vserver</description>
1388       </scalar>
1389       <scalar name="nodename">
1390         <description>The node-/hostname of the vserver</description>
1391       </scalar>
1392       <scalar name="release">
1393         <description>The OS-release of the vserver</description>
1394       </scalar>
1395       <scalar name="version">
1396         <description>The OS-version of the vserver</description>
1397       </scalar>
1398       <scalar name="machine">
1399         <description>The machine-type of the vserver</description>
1400       </scalar>
1401       <scalar name="domainname">
1402         <description>The NIS domainname of the vserver</description>
1403       </scalar>
1404     </collection>
1405
1406     <collection name="dlimits" since="0.30.210">
1407       <collection name="dlimit" type="symbolic">
1408         <scalar name="directory">
1409           <description>The directory to which the limit should be applied</description>
1410         </scalar>
1411         <scalar name="inodes_total">
1412           <description>The amount of inodes this vserver should be limited to</description>
1413         </scalar>
1414         <scalar name="space_total">
1415           <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
1416         </scalar>
1417         <scalar name="reserved">
1418           <description>How much space (percentage-wise) should be reserved for the root user</description>
1419         </scalar>
1420       </collection>
1421     </collection>
1422
1423     <collection name="sysctl" since="0.30.213">
1424       <collection name="x" type="symbolic">
1425         <description>'x' is an arbitrary name, replace it with e.g. integers</description>
1426         <scalar name="setting">
1427           <description>The sysctl setting</description>
1428         </scalar>
1429         <scalar name="value">
1430           <description>The value</description>
1431         </scalar>
1432       </collection>
1433     </collection>
1434
1435     <collection name="cpuset" since="0.30.211">
1436       <description>
1437 Puts the guest in a cpuset. Required entries are name, cpus and mems.
1438       </description>
1439       <scalar name="name">
1440         <description>The name of the cpuset for this vserver</description>
1441       </scalar>
1442       <scalar name="cpus">
1443         <description>The list of CPUs in this cpuset</description>
1444       </scalar>
1445       <scalar name="mems">
1446         <description>The list of Memory Nodes in this cpuset</description>
1447       </scalar>
1448       <scalar name="cpu_exclusive">
1449         <description>Is the CPU assignment exclusive?</description>
1450       </scalar>
1451       <scalar name="mems_exclusive">
1452         <description>Is the memory node assignment exclusive?</description>
1453       </scalar>
1454       <scalar name="nocreate">
1455         <description>When this file exists, the cpuset will be assumed to exist already</description>
1456       </scalar>
1457     </collection>
1458
1459     <collection id="sched" name="sched" since="0.30.212">
1460       <scalar id="global-tokens" name="tokens">
1461         <description>The initial amount of tokens to put in the bucket</description>
1462       </scalar>
1463       <scalar id="global-tokens-min" name="tokens-min">
1464         <description>The minimum amount of tokens required to unhold the context</description>
1465       </scalar>
1466       <scalar id="global-tokens-max" name="tokens-max">
1467         <description>The bucket's size</description>
1468       </scalar>
1469       <scalar id="global-fill-rate" name="fill-rate">
1470         <description>Amount of tokens to add each <optionref ref="global-interval">interval</optionref></description>
1471       </scalar>
1472       <scalar id="global-interval" name="interval">
1473         <description>The interval between refills of the bucket</description>
1474       </scalar>
1475       <scalar id="global-priority-bias" name="priority-bias">
1476         <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
1477       </scalar>
1478       <scalar id="global-fill-rate2" name="fill-rate2">
1479         <description>Amount of tokens to add each <optionref ref="global-interval2">interval2</optionref> when advancing idle time</description>
1480       </scalar>
1481       <scalar id="global-interval2" name="interval2">
1482         <description>The interval between refills of the bucket when advancing idle time</description>
1483       </scalar>
1484       <boolean id="global-idle-time" name="idle-time">
1485         <description>When this file exists, advancing idle time is activated</description>
1486       </boolean>
1487       <collection name="cpu-id" type="symbolic">
1488         <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>
1489         <scalar name="tokens">
1490           <description>The initial amount of tokens to put in the bucket</description>
1491         </scalar>
1492         <scalar name="tokens-min">
1493           <description>The minimum amount of tokens required to unhold the context</description>
1494         </scalar>
1495         <scalar name="tokens-max">
1496           <description>The bucket's size</description>
1497         </scalar>
1498         <scalar name="fill-rate">
1499           <description>Amount of tokens to add each <optionref ref="local-interval">interval</optionref></description>
1500         </scalar>
1501         <scalar id="local-interval" name="interval">
1502           <description>The interval between refills of the bucket</description>
1503         </scalar>
1504         <scalar name="priority-bias">
1505           <description>Bias added to priorities calculated within the guest (result is clamped to -20/+19)</description>
1506         </scalar>
1507         <scalar name="fill-rate2">
1508           <description>Amount of tokens to add each <optionref ref="local-interval2">interval2</optionref> when advancing idle time</description>
1509         </scalar>
1510         <scalar id="local-interval2" name="interval2">
1511           <description>The interval between refills of the bucket when advancing idle time</description>
1512         </scalar>
1513         <boolean name="idle-time">
1514           <description>When this file exists, advancing idle time is activated</description>
1515         </boolean>
1516         <scalar id="cpu-id" name="cpu-id">
1517           <description>The CPU to apply these settings to</description>
1518         </scalar>
1519         <scalar name="bucket-id">
1520           <description>The bucket to apply these settings to</description>
1521         </scalar>
1522       </collection>
1523     </collection>
1524   </collection>
1525   </database>