documented apps/init/{mark,depends}
[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="hostname">
172         <description>Contains the hostname of the vserver.</description>
173       </file>
174
175       <file name="name">
176         <description>Contains the name of the vserver. When not given, the basename of the directory
177         will be assumed as this name.</description>
178       </file>
179
180       <file name="domainname">
181         <description>The domainname of the vserver.</description>
182       </file>
183
184       <file name="nice">
185         <description>The nice-level on which the vserver will be started.</description>
186       </file>
187
188       <file name="capabilities">
189         <description>Contains per line a capability.</description>
190       </file>
191
192       <file name="shell">
193         <description>Contains the pathname of the shell which will be used by the "vserver ... enter"
194         command.</description>
195       </file>
196
197       <file name="flags">
198         <description>Contains per line a flag.</description>
199       </file>
200
201       <file name="context">
202         <description>Contains the context which shall be used for the vserver.</description>
203       </file>
204
205       <file name="fstab">
206         <description>The fstab file for the vserver. Entries in this file will be mounted within the
207         network context of the vserver; this means that mount will be called as 'chbind &lt;options&gt;
208         mount ...'. Use the 'fstab.local' file when you do not want this behavior, but in most cases
209         the 'fstab' file should be used.</description>
210       </file>
211
212       <file name="fstab.local">
213         <description>The fstab file for the vserver. In opposite to the normal 'fstab' file, the
214         mounting happens in the local network context. Currently there is no way to mix entries of
215         both files; 'fstab' will be always processed before 'fstab.local'.</description>
216       </file>
217       
218       <dir name="apps" type="fixed">
219         <dir name="init" type="fixed">
220           <file name="mtab">
221             <description>The initial-mtab which will be used for the vserver.</description>
222           </file>
223
224           <file name="style">
225             <description>Contains the init-style; possible values are 'sysv', 'plain', 'minit' and
226             'gentoo'.</description>
227           </file>
228
229           <file name="runlevel">
230             <description>The start runlevel.</description>
231           </file>
232
233           <file name="runlevel.start">
234             <description>The start runlevel.</description>
235           </file>
236
237           <file name="runlevel.stop">
238             <description>The stop runlevel.</description>
239           </file>
240
241           <file name="killseq">
242             <description>Contains the 'signal [wait signal]*' sequence which is used to stop the
243             vserver.</description>
244           </file>
245
246           <file name="cmd.start">
247             <description>The command which is used to start the vserver. Each option must be on a
248             separate line.</description>
249           </file>
250
251           <file name="cmd.start-sync">
252             <description>The command which is used to wait on the vserver after it has been
253             started. Each option must be on a separate line. This file will be ignored when the
254             'sync' does not exist and the '--sync' option was not used.</description>
255           </file>
256           
257           <file name="cmd.stop">
258             <description>The command which is used to stop the vserver. Each option must be on a
259             separate line.</description>
260           </file>
261
262           <file name="cmd.stop-sync">
263             <description>The command which is used to wait on the vserver after it has been
264             stopped. Each option must be on a separate line. This file will be ignored when the
265             'sync' does not exist and the '--sync' option was not used.</description>
266           </file>
267
268           <file name="cmd.prepare">
269             <description>The command which is used to setup the init-system (e.g. to set the runlevel
270             in the utmp-file). Each option must be on a separate line.</description>
271           </file>
272
273           <file name="sync">
274             <description>Without this file, the 'cmd.*-sync' files will be ignored.</description>
275           </file>
276
277           <symlink name="tty">
278             <description>A symlink to the TTY device where input/output will be redirected from/to
279             at startup via initscript.</description>
280           </symlink>
281
282           <file name="mark">
283             <description>This file is used to mark group of vservers which shall be started/stopped
284             together by the initscript. Content is a simple string like 'default'.</description>
285           </file>
286
287           <file name="depends">
288             <description>This file is used to configure vservers which must be running before the
289             current vserver can be started. At shutdown, the current vserver will be stopped before
290             its dependencies. Content of this file are vserver ids (one name per line).</description>
291           </file>
292         </dir> <!-- ...apps/init -->
293
294         <dir name="vunify" type="fixed">
295           <description>This directory contains configuration data required for vserver
296           unification.</description>
297           
298           <file name="exclude">
299             <description>Static list of excluded files. This list supports an rsync syntax: when a
300             file is prefixed by '+', it is a candidate for unification; when there is no prefix or a
301             '-' it will be excluded. Shell-wildcards are allowed for the filenames.</description>
302           </file>
303
304           <symlink name="refserver.X">
305             <description>These are symlinks to the configuration directory
306             (e.g. CONFDIR/vservers/&lt;idgt;) of a refserver. There may be multiple such symlinks
307             but they must be prefixed by 'refserver.' and will be processed in alphanumerical
308             order.</description>
309           </symlink>
310         </dir>
311       </dir>
312
313       <dir name="scripts" type="fixed">
314         <script name="prepre-start">
315           <description>&init-script-text; &init-prepre-start;</description>
316           &init-scriptlet-params;
317         </script>
318         <dir name="prepre-start.d" type="fixed">
319           <description>&init-dir-text; &init-prepre-start;</description>
320
321           <script name="script">
322             <description>&init-dir-script-text; &init-prepre-start;</description>
323             &init-scriptlet-params;
324           </script>
325         </dir>
326
327         <script name="pre-start">
328           <description>&init-script-text; &init-pre-start;</description>
329           &init-scriptlet-params;
330         </script>
331
332         <dir name="pre-start.d">
333           <description>&init-dir-text; &init-pre-start;</description>
334           
335           <script name="script">
336             <description>&init-dir-script-text; &init-pre-start;</description>
337             &init-scriptlet-params;
338           </script>
339         </dir>
340
341         <script name="post-start">
342           <description>&init-script-text; &init-post-start;</description>
343           &init-scriptlet-params;
344         </script>
345
346         <dir name="post-start.d">
347           <description>&init-dir-text; &init-post-start;</description>
348           
349           <script name="script">
350             <description>&init-dir-script-text; &init-post-start;</description>
351             &init-scriptlet-params;
352           </script>
353         </dir>
354
355         <script name="pre-stop">
356           <description>&init-script-text; &init-pre-stop;</description>
357           &init-scriptlet-params;
358         </script>
359
360         <dir name="pre-stop.d" type="fixed">
361           <description>&init-dir-text; &init-pre-stop;</description>
362           <script name="script">
363             <description>&init-dir-script-text; &init-pre-stop;</description>
364             &init-scriptlet-params;
365           </script>
366         </dir>
367
368         <script name="post-stop">
369           <description>&init-script-text; &init-post-stop;</description>
370           &init-scriptlet-params;
371         </script>
372
373         <dir name="post-stop.d" type="fixed">
374           <description>&init-dir-text; &init-post-stop;</description>
375           <script name="script">
376             <description>&init-dir-script-text; &init-post-stop;</description>
377             &init-scriptlet-params;
378           </script>
379         </dir>
380
381         <script name="postpost-stop">
382           <description>&init-script-text; &init-postpost-stop;</description>
383           &init-scriptlet-params;
384         </script>
385
386         <dir name="postpost-stop.d" type="fixed">
387           <description>&init-dir-text; &init-postpost-stop;</description>
388           <script name="script">
389             <description>&init-dir-script-text; &init-postpost-stop;</description>
390             &init-scriptlet-params;
391           </script>
392         </dir>
393       </dir>
394
395
396       
397       <dir name="interfaces" type="fixed">
398         <file name="bcast">
399           <description>The deafult broadcast address.</description>
400         </file>
401         <file name="dev">
402           <description>The default network-device.</description>
403         </file>
404         <file name="prefix">
405           <description>The default network-prefix.</description>
406         </file>
407         <file name="mask">
408           <description>The default network-mask.</description>
409         </file>
410         <file name="scope">
411           <description>The default scope of the network interfaces.</description>
412         </file>
413
414         <dir name="iface" type="symbolic">
415           <description>'iface' is an arbitrary name for the interface; the value itself is not important
416           but may be interesting regarding interface-creation and usage with 'chbind'. Both happens in
417           alphabetical order and numbers like '00' are good names for these directories.</description>
418           
419           <file name="disabled">
420             <description>When this file exists, this interface will be ignored.</description>
421           </file>
422           
423           <file name="ip">
424             <description>The ip which will be assigned to this interface.</description>
425           </file>
426           <file name="bcast">
427             <description>The broadcast address.</description>
428           </file>
429           <file name="dev">
430             <description>The network-device.</description>
431           </file>
432           <file name="prefix">
433             <description>The network-prefix.</description>
434           </file>
435           <file name="mask">
436             <description>The network-mask.</description>
437           </file>
438           <file name="scope">
439             <description>The scope of the network interface.</description>
440           </file>
441           <file name="name">
442             <description>When this file exists, the interface will be named with the text in this file.</description>
443           </file>
444           <file name="nodev">
445             <description>When this file exists, the interface will be assumed to exist already. A
446             former name for this flag was 'only_ip' which is deprecated now.</description>
447           </file>
448         </dir>
449       </dir>
450
451       <dir name="ulimits" type="fixed">
452         <description>A directory with ulimits. Possible resources are cpu, data, fsize, locks,
453         memlock, nofile, nproc, rss and/or stack.</description>
454
455         <file name="resource" type="symbolic">
456           <description>A file which contains the hard- and soft-limit of the given resource in the
457           first line. The special keyword 'inf' is recognized.</description>
458         </file>
459
460         <file name="resource.hard" type="symbolic">
461           <description>A file which contains the hard- of the given resource in the first line. The
462           special keyword 'inf' is recognized.</description>
463         </file>
464
465         <file name="resource.soft" type="symbolic">
466           <description>A file which contains the soft- of the given resource in the first line. The
467           special keyword 'inf' is recognized.</description>
468         </file>
469       </dir>
470
471       <dir name="rlimits" type="fixed">
472         <description>see ulimits</description>
473       </dir>
474
475       <dir name="uts" type="fixed">
476         <file name="context">
477           <description>The context-name of the vserver</description>
478         </file>
479         <file name="sysname">
480           <description>The sysname of the vserver</description>
481         </file>
482         <file name="nodename">
483           <description>The node-/hostname of the vserver</description>
484         </file>
485         <file name="release">
486           <description>The OS-release of the vserver</description>
487         </file>
488         <file name="version">
489           <description>The OS-version of the vserver</description>
490         </file>
491         <file name="machine">
492           <description>The machine-type of the vserver</description>
493         </file>
494         <file name="domainname">
495           <description>The NIS domainname of the vserver</description>
496         </file>
497       </dir>
498     </dir>
499   </topleveldir>
500 </cfgdirdoc>
501
502
503 <!--
504 !! Local Variables:
505 !! fill-column: 100
506 !! End:
507 -->