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