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