documented apps/vshelper/logfile symlink
[util-vserver.git] / util-vserver / doc / configuration.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE cfgdirdoc SYSTEM "configuration.dtd" [
3 <!ENTITY init-scriptlet-params
4           "<params>
5             <param id='vserver-dir'>
6               <description>The configuration directory of the current vserver</description>
7             </param>
8             <param id='vserver-name'>
9               <description>The name of the current vserver</description>
10             </param>
11             <param id='action'>
12               <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop', ...).</description>
13             </param>
14           </params>">
15 <!ENTITY init-script-text     "The scriptlet">
16 <!ENTITY init-dir-text        "A directory with scriptlets">
17 <!ENTITY init-dir-script-text "A scriptlet">
18
19 <!ENTITY init-prepre-start "which will be executed before the network-interfaces are enabled
20                             and the directories are mounted.">
21 <!ENTITY init-pre-start  "which will be executed after network-interfaces were enabled and
22                           the directories mounted, but before the vserver itself has been
23                           started.">
24 <!ENTITY init-post-start "which will be executed after the vserver has been started.">
25 <!ENTITY init-pre-stop   "which will be executed before the vserver will be stopped.">
26 <!ENTITY init-post-stop  "which will be executed after the vserver has been stopped, but
27                           before the directories will be umounted and the the interfaces
28                           disabled.">
29 <!ENTITY init-postpost-stop "which will be executed after the vserver has been stopped
30                              completely.">
31 ]>
32
33 <cfgdirdoc>
34   <topleveldir type="confdir">
35     <description>The base configuration directory.</description>
36
37     <dir name=".defaults" type="fixed" optional="yes">
38       <dir name="init" type="fixed">
39         <file name="mtab">
40           <description>Default mtab-file</description>
41         </file>
42       </dir>
43
44       <symlink name="vdirbase">
45         <description></description>
46         <default>/vservers</default>
47       </symlink>
48
49       <dir name="apps" type="fixed">
50         <dir name="pkgmgmt" type="fixed">
51           <symlink name="base">
52             <description></description>
53             <default>/vservers/.pkg</default>
54           </symlink>
55
56           <file name="apt.conf">
57             <description>The default apt.conf which is going to be used. It is overridden by
58             distribution specific configuration file.</description>
59           </file>
60         </dir>
61
62         <dir name="debootstrap" type="fixed">
63           <file name="mirror">
64             <description>The Debian mirror which is used for 'debootstrap'.</description>
65           </file>
66
67           <file name="uri">
68             <description>When the 'debootstrap' package is not installed; fetch it from this uri and
69             install it at a temporary place.</description>
70           </file>
71         </dir>
72
73         <dir name="vprocunhide" type="fixed">
74           <file name="files">
75             <description>A list of files which will be made visibly by vprocunhide. Wildcards are
76             allowed and anything ending in '/' will be processed recursively. When this file exists,
77             it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
78             absolute filenames inclusive the leading '/proc'.</description>
79           </file>
80         </dir>
81
82         <dir name="init" type="fixed">
83           <symlink name="tty">
84             <description>A symlink to the TTY device where input/output will be redirected from/to
85             at startup via initscript.</description>
86           </symlink>
87         </dir>
88
89         <dir name="vunify" type="fixed">
90           <file name="exclude">
91             <description>Static list of excluded files.</description>
92           </file>
93         </dir>
94       </dir>
95     </dir>
96
97     <dir name=".distributions" type="fixed" optional="yes">
98       <dir name="dist" type="symbolic">
99         <file name="dev">
100           <description></description>
101         </file>
102
103         <file name="apt.conf">
104           <description>The default apt.conf which is going to be used. It overrides the apt.conf
105           from CONFDIR/.defaults/apps/pkgmgmt.</description>
106         </file>
107
108         <script name="initpre">
109           <description>Script which will be executed before packages will be installed.</description>
110           <params>
111             <param id="confdir">
112               <description>The configuration directory of the vserver which is going to be set
113               up.</description>
114             </param>
115
116             <param id="vserver">
117               <description>The pathname of the vserver binary.</description>
118             </param>
119           </params>
120         </script>
121
122         <script name="initpost">
123           <description>Script which will be executed after packages are installed.</description>
124           <params>
125             <param id="confdir">
126               <description>The configuration directory of the vserver which is going to be set
127               up.</description>
128             </param>
129
130             <param id="vserver">
131               <description>The pathname of the vserver binary.</description>
132             </param>
133           </params>
134         </script>
135
136         <dir name="pkgs" type="fixed">
137           <description>Contains files with packages.</description>
138           <file name="list" type="symbolic">
139             <description>File which contains the name of packages. On top of file the special
140             keywords '--reinstall' and '--can-fail' are possible.</description>
141           </file>
142         </dir>
143
144         <dir name="pubkeys" type="fixed">
145           <description>Directory with GPG pubkeys which are used to sign the packages of this
146           distribution.</description>
147         </dir>
148
149         <dir name="apt" type="fixed">
150           <description>Default content of the /etc/apt/ directory.</description>
151         </dir>
152
153         <dir name="rpm" type="fixed">
154           <description>Default content of the /etc/rpm directory.</description>
155         </dir>
156
157         <symlink name="rpmlib">
158           <description>Directory which overrides /usr/lib/rpm.</description>
159         </symlink>
160         
161         <symlink name="execdir">
162           <description>Directory with all executables and libraries which are required for this
163           distribution.</description>
164         </symlink>
165       </dir>
166     </dir> <!-- .distributions -->
167
168     <dir name="vserver-name" type="symbolic">
169       <description>The configuration directory for the vserver vserver-name.</description>
170
171       <file name="bcapabilities">
172         <description>[experimental; name is subject of possible change] Contains the system capabilities.</description>
173       </file>
174
175       <file name="ccapabilities">
176         <description>[experimental; name is subject of possible change] Contains the context capabilities.</description>
177       </file>
178
179       <file name="schedule">
180         <description>[experimental; name is subject of possible change] Contains the scheduler
181         parameters: fill-rate, interval, tokens, tokens-min, tokens-max and cpu-mask. One parameter
182         per line.</description>
183       </file>
184       
185       
186       <file name="hostname">
187         <description>Contains the hostname of the vserver. Same as uts/nodename.</description>
188       </file>
189
190       <file name="name">
191         <description>Contains the name of the vserver. When not given, the basename of the directory
192         will be assumed as this name.</description>
193       </file>
194
195       <file name="domainname">
196         <description>The domainname of the vserver. Same as uts/domainname.</description>
197       </file>
198
199       <file name="nice">
200         <description>The nice-level on which the vserver will be started.</description>
201       </file>
202
203       <file name="capabilities">
204         <description>Contains per line a capability.</description>
205       </file>
206
207       <file name="shell">
208         <description>Contains the pathname of the shell which will be used by the "vserver ... enter"
209         command.</description>
210       </file>
211
212       <file name="flags">
213         <description>Contains per line a flag.</description>
214       </file>
215
216       <file name="context">
217         <description>Contains the context which shall be used for the vserver.</description>
218       </file>
219
220       <file name="fstab">
221         <description>The fstab file for the vserver. Entries in this file will be mounted within the
222         network context of the vserver; this means that mount will be called as 'chbind &lt;options&gt;
223         mount ...'. Use the 'fstab.local' file when you do not want this behavior, but in most cases
224         the 'fstab' file should be used.</description>
225       </file>
226
227       <file name="fstab.local">
228         <description>The fstab file for the vserver. In opposite to the normal 'fstab' file, the
229         mounting happens in the local network context. Currently there is no way to mix entries of
230         both files; 'fstab' will be always processed before 'fstab.local'.</description>
231       </file>
232       
233       <dir name="apps" type="fixed">
234         <dir name="init" type="fixed">
235           <file name="mtab">
236             <description>The initial-mtab which will be used for the vserver.</description>
237           </file>
238
239           <file name="style">
240             <description>Contains the init-style; possible values are 'sysv', 'plain', 'minit' and
241             'gentoo'.</description>
242           </file>
243
244           <file name="runlevel">
245             <description>The start runlevel.</description>
246           </file>
247
248           <file name="runlevel.start">
249             <description>The start runlevel.</description>
250           </file>
251
252           <file name="runlevel.stop">
253             <description>The stop runlevel.</description>
254           </file>
255
256           <file name="killseq">
257             <description>Contains the 'signal [wait signal]*' sequence which is used to stop the
258             vserver.</description>
259           </file>
260
261           <file name="cmd.start">
262             <description>The command which is used to start the vserver. Each option must be on a
263             separate line.</description>
264           </file>
265
266           <file name="cmd.start-sync">
267             <description>The command which is used to wait on the vserver after it has been
268             started. Each option must be on a separate line. This file will be ignored when the
269             'sync' does not exist and the '--sync' option was not used.</description>
270           </file>
271           
272           <file name="cmd.stop">
273             <description>The command which is used to stop the vserver. Each option must be on a
274             separate line.</description>
275           </file>
276
277           <file name="cmd.stop-sync">
278             <description>The command which is used to wait on the vserver after it has been
279             stopped. Each option must be on a separate line. This file will be ignored when the
280             'sync' does not exist and the '--sync' option was not used.</description>
281           </file>
282
283           <file name="cmd.prepare">
284             <description>The command which is used to setup the init-system (e.g. to set the runlevel
285             in the utmp-file). Each option must be on a separate line.</description>
286           </file>
287
288           <file name="sync">
289             <description>Without this file, the 'cmd.*-sync' files will be ignored.</description>
290           </file>
291
292           <symlink name="tty">
293             <description>A symlink to the TTY device where input/output will be redirected from/to
294             at startup via initscript.</description>
295           </symlink>
296
297           <file name="mark">
298             <description>This file is used to mark group of vservers which shall be started/stopped
299             together by the initscript. Content is a simple string like 'default'.</description>
300           </file>
301
302           <file name="depends">
303             <description>This file is used to configure vservers which must be running before the
304             current vserver can be started. At shutdown, the current vserver will be stopped before
305             its dependencies. Content of this file are vserver ids (one name per line).</description>
306           </file>
307         </dir> <!-- ...apps/init -->
308
309         <dir name="vshelper" type="fixed">
310           <file name="sync-timeout">
311             <description>The timeout in seconds which is used when synchronising vserver startup/shutdown
312             with the vshelper. When set nowhere else, 30 seconds will be assumed.</description>
313           </file>
314
315           <file name="action">
316             <description>The action which is going to be executed when a vshelper event occurs. The
317             default value is 'restart', but there can be defined own methods by placing scripts into
318             the 'vshelper-methods' directories. These scripts are fed with the same arguments as the
319             'vshelper' script.</description>
320           </file>
321
322           <script type="symbolic" name="event">
323             <description>When existing. these scripts will be executed *instead* of the default
324             handler defined in 'action'. Their name must matching the event which caused the
325             execution of 'vshelper'; e.g. 'restart' or 'poweroff'. See the vs_reboot() function in
326             the kernel for more details.</description>
327             <params>
328               <param id="xid">
329                 <description>The xid of the context calling the vshelper</description>
330               </param>
331               <param id="event">
332                 <description>The reboot-event</description>
333               </param>
334             </params>
335           </script>
336
337           <file name="disabled">
338             <description>When existing, the vshelper functionality will be disabled for this
339             vserver.</description>
340           </file>
341
342           <file name="warning-disabled">
343             <description>When existing, sanity checks for the vshelper functionality will be
344             skipped.</description>
345           </file>
346
347           <symlink name="logfile">
348             <description>The file where output will be logged to when 'vshelper' is invoked from the
349             kernel. This should point somewhere e.g. into /var/log.</description>
350           </symlink>
351         </dir>
352
353         <dir name="vshelper-methods" type="fixed">
354           <script type="symbolic" name="handler">
355             <description>See vshelper/action.</description>
356             <params>
357             </params>
358           </script>
359         </dir>
360
361         <dir name="vunify" type="fixed">
362           <description>This directory contains configuration data required for vserver
363           unification.</description>
364           
365           <file name="exclude">
366             <description>Static list of excluded files. This list supports an rsync syntax: when a
367             file is prefixed by '+', it is a candidate for unification; when there is no prefix or a
368             '-' it will be excluded. Shell-wildcards are allowed for the filenames.</description>
369           </file>
370
371           <symlink name="refserver.X">
372             <description>These are symlinks to the configuration directory
373             (e.g. CONFDIR/vservers/&lt;idgt;) of a refserver. There may be multiple such symlinks
374             but they must be prefixed by 'refserver.' and will be processed in alphanumerical
375             order.</description>
376           </symlink>
377         </dir>
378       </dir>
379
380       <dir name="scripts" type="fixed">
381         <script name="prepre-start">
382           <description>&init-script-text; &init-prepre-start;</description>
383           &init-scriptlet-params;
384         </script>
385         <dir name="prepre-start.d" type="fixed">
386           <description>&init-dir-text; &init-prepre-start;</description>
387
388           <script name="script">
389             <description>&init-dir-script-text; &init-prepre-start;</description>
390             &init-scriptlet-params;
391           </script>
392         </dir>
393
394         <script name="pre-start">
395           <description>&init-script-text; &init-pre-start;</description>
396           &init-scriptlet-params;
397         </script>
398
399         <dir name="pre-start.d">
400           <description>&init-dir-text; &init-pre-start;</description>
401           
402           <script name="script">
403             <description>&init-dir-script-text; &init-pre-start;</description>
404             &init-scriptlet-params;
405           </script>
406         </dir>
407
408         <script name="post-start">
409           <description>&init-script-text; &init-post-start;</description>
410           &init-scriptlet-params;
411         </script>
412
413         <dir name="post-start.d">
414           <description>&init-dir-text; &init-post-start;</description>
415           
416           <script name="script">
417             <description>&init-dir-script-text; &init-post-start;</description>
418             &init-scriptlet-params;
419           </script>
420         </dir>
421
422         <script name="pre-stop">
423           <description>&init-script-text; &init-pre-stop;</description>
424           &init-scriptlet-params;
425         </script>
426
427         <dir name="pre-stop.d" type="fixed">
428           <description>&init-dir-text; &init-pre-stop;</description>
429           <script name="script">
430             <description>&init-dir-script-text; &init-pre-stop;</description>
431             &init-scriptlet-params;
432           </script>
433         </dir>
434
435         <script name="post-stop">
436           <description>&init-script-text; &init-post-stop;</description>
437           &init-scriptlet-params;
438         </script>
439
440         <dir name="post-stop.d" type="fixed">
441           <description>&init-dir-text; &init-post-stop;</description>
442           <script name="script">
443             <description>&init-dir-script-text; &init-post-stop;</description>
444             &init-scriptlet-params;
445           </script>
446         </dir>
447
448         <script name="postpost-stop">
449           <description>&init-script-text; &init-postpost-stop;</description>
450           &init-scriptlet-params;
451         </script>
452
453         <dir name="postpost-stop.d" type="fixed">
454           <description>&init-dir-text; &init-postpost-stop;</description>
455           <script name="script">
456             <description>&init-dir-script-text; &init-postpost-stop;</description>
457             &init-scriptlet-params;
458           </script>
459         </dir>
460       </dir>
461
462
463       
464       <dir name="interfaces" type="fixed">
465         <file name="bcast">
466           <description>The deafult broadcast address.</description>
467         </file>
468         <file name="dev">
469           <description>The default network-device.</description>
470         </file>
471         <file name="prefix">
472           <description>The default network-prefix.</description>
473         </file>
474         <file name="mask">
475           <description>The default network-mask.</description>
476         </file>
477         <file name="scope">
478           <description>The default scope of the network interfaces.</description>
479         </file>
480
481         <dir name="iface" type="symbolic">
482           <description>'iface' is an arbitrary name for the interface; the value itself is not important
483           but may be interesting regarding interface-creation and usage with 'chbind'. Both happens in
484           alphabetical order and numbers like '00' are good names for these directories.</description>
485           
486           <file name="disabled">
487             <description>When this file exists, this interface will be ignored.</description>
488           </file>
489           
490           <file name="ip">
491             <description>The ip which will be assigned to this interface.</description>
492           </file>
493           <file name="bcast">
494             <description>The broadcast address.</description>
495           </file>
496           <file name="dev">
497             <description>The network-device.</description>
498           </file>
499           <file name="prefix">
500             <description>The network-prefix.</description>
501           </file>
502           <file name="mask">
503             <description>The network-mask.</description>
504           </file>
505           <file name="scope">
506             <description>The scope of the network interface.</description>
507           </file>
508           <file name="name">
509             <description>When this file exists, the interface will be named with the text in this file.</description>
510           </file>
511           <file name="nodev">
512             <description>When this file exists, the interface will be assumed to exist already. A
513             former name for this flag was 'only_ip' which is deprecated now.</description>
514           </file>
515         </dir>
516       </dir>
517
518       <dir name="ulimits" type="fixed">
519         <description>A directory with ulimits. Possible resources are cpu, data, fsize, locks,
520         memlock, nofile, nproc, rss and/or stack.</description>
521
522         <file name="resource" type="symbolic">
523           <description>A file which contains the hard- and soft-limit of the given resource in the
524           first line. The special keyword 'inf' is recognized.</description>
525         </file>
526
527         <file name="resource.hard" type="symbolic">
528           <description>A file which contains the hard- of the given resource in the first line. The
529           special keyword 'inf' is recognized.</description>
530         </file>
531
532         <file name="resource.soft" type="symbolic">
533           <description>A file which contains the soft- of the given resource in the first line. The
534           special keyword 'inf' is recognized.</description>
535         </file>
536       </dir>
537
538       <dir name="rlimits" type="fixed">
539         <description>see ulimits</description>
540       </dir>
541
542       <dir name="uts" type="fixed">
543         <file name="context">
544           <description>The context-name of the vserver</description>
545         </file>
546         <file name="sysname">
547           <description>The sysname of the vserver</description>
548         </file>
549         <file name="nodename">
550           <description>The node-/hostname of the vserver</description>
551         </file>
552         <file name="release">
553           <description>The OS-release of the vserver</description>
554         </file>
555         <file name="version">
556           <description>The OS-version of the vserver</description>
557         </file>
558         <file name="machine">
559           <description>The machine-type of the vserver</description>
560         </file>
561         <file name="domainname">
562           <description>The NIS domainname of the vserver</description>
563         </file>
564       </dir>
565     </dir>
566   </topleveldir>
567 </cfgdirdoc>
568
569
570 <!--
571 !! Local Variables:
572 !! fill-column: 100
573 !! End:
574 -->