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