added basic documentation for bcapabilities, ccapabilities and schedule
[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="vunify" type="fixed">
310           <description>This directory contains configuration data required for vserver
311           unification.</description>
312           
313           <file name="exclude">
314             <description>Static list of excluded files. This list supports an rsync syntax: when a
315             file is prefixed by '+', it is a candidate for unification; when there is no prefix or a
316             '-' it will be excluded. Shell-wildcards are allowed for the filenames.</description>
317           </file>
318
319           <symlink name="refserver.X">
320             <description>These are symlinks to the configuration directory
321             (e.g. CONFDIR/vservers/&lt;idgt;) of a refserver. There may be multiple such symlinks
322             but they must be prefixed by 'refserver.' and will be processed in alphanumerical
323             order.</description>
324           </symlink>
325         </dir>
326       </dir>
327
328       <dir name="scripts" type="fixed">
329         <script name="prepre-start">
330           <description>&init-script-text; &init-prepre-start;</description>
331           &init-scriptlet-params;
332         </script>
333         <dir name="prepre-start.d" type="fixed">
334           <description>&init-dir-text; &init-prepre-start;</description>
335
336           <script name="script">
337             <description>&init-dir-script-text; &init-prepre-start;</description>
338             &init-scriptlet-params;
339           </script>
340         </dir>
341
342         <script name="pre-start">
343           <description>&init-script-text; &init-pre-start;</description>
344           &init-scriptlet-params;
345         </script>
346
347         <dir name="pre-start.d">
348           <description>&init-dir-text; &init-pre-start;</description>
349           
350           <script name="script">
351             <description>&init-dir-script-text; &init-pre-start;</description>
352             &init-scriptlet-params;
353           </script>
354         </dir>
355
356         <script name="post-start">
357           <description>&init-script-text; &init-post-start;</description>
358           &init-scriptlet-params;
359         </script>
360
361         <dir name="post-start.d">
362           <description>&init-dir-text; &init-post-start;</description>
363           
364           <script name="script">
365             <description>&init-dir-script-text; &init-post-start;</description>
366             &init-scriptlet-params;
367           </script>
368         </dir>
369
370         <script name="pre-stop">
371           <description>&init-script-text; &init-pre-stop;</description>
372           &init-scriptlet-params;
373         </script>
374
375         <dir name="pre-stop.d" type="fixed">
376           <description>&init-dir-text; &init-pre-stop;</description>
377           <script name="script">
378             <description>&init-dir-script-text; &init-pre-stop;</description>
379             &init-scriptlet-params;
380           </script>
381         </dir>
382
383         <script name="post-stop">
384           <description>&init-script-text; &init-post-stop;</description>
385           &init-scriptlet-params;
386         </script>
387
388         <dir name="post-stop.d" type="fixed">
389           <description>&init-dir-text; &init-post-stop;</description>
390           <script name="script">
391             <description>&init-dir-script-text; &init-post-stop;</description>
392             &init-scriptlet-params;
393           </script>
394         </dir>
395
396         <script name="postpost-stop">
397           <description>&init-script-text; &init-postpost-stop;</description>
398           &init-scriptlet-params;
399         </script>
400
401         <dir name="postpost-stop.d" type="fixed">
402           <description>&init-dir-text; &init-postpost-stop;</description>
403           <script name="script">
404             <description>&init-dir-script-text; &init-postpost-stop;</description>
405             &init-scriptlet-params;
406           </script>
407         </dir>
408       </dir>
409
410
411       
412       <dir name="interfaces" type="fixed">
413         <file name="bcast">
414           <description>The deafult broadcast address.</description>
415         </file>
416         <file name="dev">
417           <description>The default network-device.</description>
418         </file>
419         <file name="prefix">
420           <description>The default network-prefix.</description>
421         </file>
422         <file name="mask">
423           <description>The default network-mask.</description>
424         </file>
425         <file name="scope">
426           <description>The default scope of the network interfaces.</description>
427         </file>
428
429         <dir name="iface" type="symbolic">
430           <description>'iface' is an arbitrary name for the interface; the value itself is not important
431           but may be interesting regarding interface-creation and usage with 'chbind'. Both happens in
432           alphabetical order and numbers like '00' are good names for these directories.</description>
433           
434           <file name="disabled">
435             <description>When this file exists, this interface will be ignored.</description>
436           </file>
437           
438           <file name="ip">
439             <description>The ip which will be assigned to this interface.</description>
440           </file>
441           <file name="bcast">
442             <description>The broadcast address.</description>
443           </file>
444           <file name="dev">
445             <description>The network-device.</description>
446           </file>
447           <file name="prefix">
448             <description>The network-prefix.</description>
449           </file>
450           <file name="mask">
451             <description>The network-mask.</description>
452           </file>
453           <file name="scope">
454             <description>The scope of the network interface.</description>
455           </file>
456           <file name="name">
457             <description>When this file exists, the interface will be named with the text in this file.</description>
458           </file>
459           <file name="nodev">
460             <description>When this file exists, the interface will be assumed to exist already. A
461             former name for this flag was 'only_ip' which is deprecated now.</description>
462           </file>
463         </dir>
464       </dir>
465
466       <dir name="ulimits" type="fixed">
467         <description>A directory with ulimits. Possible resources are cpu, data, fsize, locks,
468         memlock, nofile, nproc, rss and/or stack.</description>
469
470         <file name="resource" type="symbolic">
471           <description>A file which contains the hard- and soft-limit of the given resource in the
472           first line. The special keyword 'inf' is recognized.</description>
473         </file>
474
475         <file name="resource.hard" type="symbolic">
476           <description>A file which contains the hard- of the given resource in the first line. The
477           special keyword 'inf' is recognized.</description>
478         </file>
479
480         <file name="resource.soft" type="symbolic">
481           <description>A file which contains the soft- of the given resource in the first line. The
482           special keyword 'inf' is recognized.</description>
483         </file>
484       </dir>
485
486       <dir name="rlimits" type="fixed">
487         <description>see ulimits</description>
488       </dir>
489
490       <dir name="uts" type="fixed">
491         <file name="context">
492           <description>The context-name of the vserver</description>
493         </file>
494         <file name="sysname">
495           <description>The sysname of the vserver</description>
496         </file>
497         <file name="nodename">
498           <description>The node-/hostname of the vserver</description>
499         </file>
500         <file name="release">
501           <description>The OS-release of the vserver</description>
502         </file>
503         <file name="version">
504           <description>The OS-version of the vserver</description>
505         </file>
506         <file name="machine">
507           <description>The machine-type of the vserver</description>
508         </file>
509         <file name="domainname">
510           <description>The NIS domainname of the vserver</description>
511         </file>
512       </dir>
513     </dir>
514   </topleveldir>
515 </cfgdirdoc>
516
517
518 <!--
519 !! Local Variables:
520 !! fill-column: 100
521 !! End:
522 -->