1 <?xml version="1.0" encoding="UTF-8"?>
4 <database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:noNamespaceSchemaLocation="file:configuration.xsd">
7 <!-- Global configuration -->
8 <collection name=".default" use="optional">
9 <collection name="init" type="fixed">
11 <description>Default mtab file</description>
15 <link name="vdirbase">
16 <default>/vservers</default>
19 <collection name="apps">
20 <collection name="pkgmgmt">
22 <default>/vservers/.pkg</default>
24 <data name="apt.conf">
26 The default apt.conf which is going to be used. It is overridden by
27 distribution specific configuration file.
32 <collection name="debootstrap">
33 <scalar name="mirror">
35 The Debian mirror to use with the 'debootstrap' program
40 When the 'debootstrap' package is not installed; fetch it from this uri and
41 install it at a temporary place.
46 <collection name="vprocunhide">
49 A list of files which will be made visibly by vprocunhide. Wildcards are
50 allowed and anything ending in '/' will be processed recursively. When this file exists,
51 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
52 absolute filenames inclusive the leading '/proc'.
57 <collection name="init">
60 A symlink to the TTY device where input/output will be redirected from/to
61 at startup via initscript.
66 <collection name="vunify">
69 Static list of excluded files.
75 <collection name=".distributions" use="optional">
76 <collection name="dist" type="symbolic">
81 <data name="apt.conf">
83 The default apt.conf which is going to be used. It overrides the apt.conf
84 from CONFDIR/.defaults/apps/pkgmgmt.
87 <program name="initpre">
89 Script which will be executed before packages will be installed.
92 <parameter name="confdir">
94 The configuration directory of the vserver which is going to be set up.
97 <parameter name="vserver">
99 The pathname of the vserver binary.
104 <program name="initpost">
106 Script which will be executed after packages are installed.
109 <parameter name="confdir">
111 The configuration directory of the vserver which is going to be set up.
114 <parameter name="vserver">
116 The pathname of the vserver binary.
122 <collection name="pkgs">
124 Contains files with packages.
128 File which contains the name of packages. On top of file the special
129 keywords '--reinstall' and '--can-fail' are possible.
134 <collection name="pubkeys">
136 Directory with GPG pubkeys which are used to sign the packages of this
141 <collection name="apt">
143 Default content of the /etc/apt/ directory.
147 <collection name="rpm">
149 Default content of the /etc/rpm directory.
155 Directory which overrides /usr/lib/rpm.
158 <link name="execdir">
160 Directory with all executables and libraries which are required for this
168 <!-- Vserver configuration -->
169 <collection name="vserver-name" type="symbolic">
171 The configuration directory for the vserver vserver-name.
176 Path of the vserver root directory
182 Path of the vserver run directory
186 <link name="run.rev">
188 Path of the vserver run reverse directory
192 <list name="bcapabilities">
194 [experimental; name is subject of possible change] Contains the system capabilities. See
195 <ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
199 <list name="ccapabilities">
201 [experimental; name is subject of possible change] Contains the context capabilities. See
202 <ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
206 <hash name="schedule">
208 [experimental; name is subject of possible change] Contains the scheduler parameters,
211 The Hard CPU limit uses a mechanism called a Token Bucket.
212 the concept is simple: you have a bucket of a certain size
213 which is filled with a specified amount R of tokens each
214 interval T until the maximum is reached (excess tokens
215 are spilled). At each timer tick, a running process consumes
216 one token from the bucket, unless the bucket is empty. If the
217 bucket is empty the process is put in the hold queue. When the
218 bucket has been refilled to at least M tokens, all on hold
219 processes are rescheduled.
222 <key name="fill-rate">
224 Amount of tokens append to the bucket each interval.
227 <key name="interval">
229 The intervall between refills of amount 'fill_rate'. This value is express in ticks.
234 Initial bucket contents.
237 <key name="tokens-min">
239 The minimum amount of tokens required to unhold processes
242 <key name="tokens-max">
247 <key name="cpu-mask">
249 Unused at the moment.
254 <scalar name="hostname">
256 Contains the hostname of the vserver. Same as uts/nodename.
261 Contains the name of the vserver. When not given, the basename of the directory
262 will be assumed as this name.
265 <scalar name="domainname">
267 The domainname of the vserver. Same as uts/domainname.
272 The nice-level on which the vserver will be started.
275 <list name="capabilities">
277 Contains per line a capability. This file is used for the 2.4
278 kernel only; for 2.6 use 'bcapabilities'.
281 <scalar name="shell">
283 Contains the pathname of the shell which will be used by the "vserver ... enter"
289 Contains per line a flag. See
290 <ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
294 <element name="fakeinit">
296 The new process will believe it is process number 1. Useful to
297 run a real /sbin/init in a vserver. Warning: this flag should
298 not be used unless you know what you are doing. Often, it is
299 better to use the 'plain' initstyle.
302 <element name="lock">
304 The new process is trapped and can't use chcontext anymore.
307 <element name="sched">
309 The new process and its children will share a common
312 <element name="nproc">
314 Limit the number of process in the vserver according to
315 ulimit setting. Normally, ulimit is a per user thing.
316 With this flag, it becomes a per vserver thing.
319 <element name="private">
321 No one can join this security context once created.
324 <element name="ulimit">
326 Apply the current ulimit to the whole context
331 <scalar name="context">
333 Contains the context which shall be used for the vserver.
338 The fstab file for the vserver. Entries in this file will be mounted within the
339 network context of the vserver; this means that mount will be called as 'chbind <options>
340 mount ...'. Use the 'fstab.local' file when you do not want this behavior, but in most cases
341 the 'fstab' file should be used.
344 <data name="fstab.local">
346 The fstab file for the vserver. In opposite to the normal 'fstab' file, the
347 mounting happens in the local network context. Currently there is no way to mix entries of
348 both files; 'fstab' will be always processed before 'fstab.local'.
352 <collection name="apps">
353 <collection name="init">
356 The initial-mtab which will be used for the vserver.
360 <scalar name="style">
362 Contains the init-style.
365 <enumeration value="sysv"/>
366 <enumeration value="plain"/>
367 <enumeration value="minit"/>
368 <enumeration value="gento"/>
372 <scalar name="runlevel">
373 <description>The start runlevel.</description>
376 <scalar name="runlevel.start">
377 <description>The start runlevel.</description>
380 <scalar name="runlevel.stop">
381 <description>The stop runlevel.</description>
384 <scalar name="killseq">
386 Contains the 'signal [wait signal]*' sequence which is used to stop the
391 <list name="cmd.start">
393 The command which is used to start the vserver. Each option must be on a
398 <list name="cmd.start-sync">
400 The command which is used to wait on the vserver after it has been
401 started. Each option must be on a separate line. This file will be ignored when the
402 'sync' does not exist and the '--sync' option was not used.
406 <list name="cmd.stop">
408 The command which is used to stop the vserver. Each option must be on a
413 <list name="cmd.stop-sync">
415 The command which is used to wait on the vserver after it has been
416 stopped. Each option must be on a separate line. This file will be ignored when the
417 'sync' does not exist and the '--sync' option was not used.
421 <list name="cmd.prepare">
423 The command which is used to setup the init-system (e.g. to set the runlevel
424 in the utmp-file). Each option must be on a separate line.
428 <boolean name="sync">
430 If this file is not present, all 'cmd.*-sync files will be ignored.
436 A symlink to the TTY device where input/output will be redirected from/to
437 at startup via initscript.
443 This file is used to mark group of vservers which shall be started/stopped
444 together by the initscript. Content is a simple string like 'default'.
448 <list name="depends">
450 This file is used to configure vservers which must be running before the
451 current vserver can be started. At shutdown, the current vserver will be stopped before
452 its dependencies. Content of this file are vserver ids (one name per line).
457 <collection name="vshelper">
458 <scalar name="sync-timeout">
460 The timeout in seconds which is used when synchronising vserver startup/shutdown
461 with the vshelper. When no set, 30 seconds will be assumed.
463 <default>30</default>
466 <scalar name="action">
468 The action which is going to be executed when a vshelper event occurs. The
469 default value is 'restart', but there can be defined own methods by placing scripts into
470 the 'vshelper-methods' directories. These scripts are fed with the same arguments as the
473 <default>restart</default>
476 <program name="event" type="symbolic">
478 When existing. these scripts will be executed *instead* of the default
479 handler defined in 'action'. Their name must match the event which caused the execution
480 of 'vshelper'; e.g. 'restart' or 'poweroff'. See the vs_reboot() function in the kernel
484 <parameter name="xid">
485 <description>The xid of the context calling the vshelper</description>
487 <parameter name="event">
488 <description>The reboot-event</description>
493 <boolean name="disabled">
495 When existing, the vshelper functionality will be disabled for this
500 <boolean name="warning-disabled">
502 When existing, sanity checks for the vshelper functionality will be
507 <link name="logfile">
509 The file where output will be logged to when 'vshelper' is invoked from the
510 kernel. This should point somewhere e.g. into /var/log.
515 <collection name="vshelper-methods">
516 <program name="handler" type="symbolic">
523 <collection name="vunify">
525 This directory contains configuration data required for vserver
529 <list name="exclude">
531 Static list of excluded files. This list supports an rsync syntax: when a
532 file is prefixed by '+', it is a candidate for unification; when there is no prefix or a
533 '-' it will be excluded. Shell-wildcards are allowed for the filenames.
537 <link name="refserver.X" type="symbolic">
539 These are symlinks to the configuration directory
540 (e.g. CONFDIR/vservers/<id>) of a refserver. There may be multiple such symlinks
541 but they must be prefixed by 'refserver.' and will be processed in alphanumerical
548 <collection name="scripts">
550 A directory for scripts. By default, when one of these scripts will be executed,
551 the execution of defaultscripts (within .../.defaults/scripts) will be skipped. To execute
552 them nevertheless, the $DONT_SKIP_DEFAULTS environment variable must be set by one of the
553 in-shellcontext scripts (the non-executable ones).
556 <program name="prepre-start">
558 The scriptlet which will be executed before the network-interfaces are enabled
559 and the directories are mounted."
562 <parameter name="vserver-dir">
563 <description>The configuration directory of the current vserver.</description>
565 <parameter name="vserver-name">
566 <description>The name of the current vserver.</description>
568 <parameter name="action">
569 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
573 <collection name="prepre-start.d">
575 Repository of prepre-start like scripts
577 <program name="script" type="symbolic">
578 <description>See prepre-start.</description>
580 <parameter name="vserver-dir">
581 <description>The configuration directory of the current vserver.</description>
583 <parameter name="vserver-name">
584 <description>The name of the current vserver.</description>
586 <parameter name="action">
587 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
593 <program name="pre-start">
595 The scriptlet which will be executed after network-interfaces were enabled and
596 the directories mounted, but before the vserver itself has been started.
599 <parameter name="vserver-dir">
600 <description>The configuration directory of the current vserver.</description>
602 <parameter name="vserver-name">
603 <description>The name of the current vserver.</description>
605 <parameter name="action">
606 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
610 <collection name="pre-start.d">
612 Repository of pre-start like scripts
614 <program name="script" type="symbolic">
615 <description>See pre-start.</description>
617 <parameter name="vserver-dir">
618 <description>The configuration directory of the current vserver.</description>
620 <parameter name="vserver-name">
621 <description>The name of the current vserver.</description>
623 <parameter name="action">
624 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
631 <program name="post-start">
633 The scriptlet which will be executed after the vserver has been started.
636 <parameter name="vserver-dir">
637 <description>The configuration directory of the current vserver.</description>
639 <parameter name="vserver-name">
640 <description>The name of the current vserver.</description>
642 <parameter name="action">
643 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
647 <collection name="post-start.d">
649 Repository of post-start like scripts
651 <program name="script" type="symbolic">
652 <description>See post-start.</description>
654 <parameter name="vserver-dir">
655 <description>The configuration directory of the current vserver.</description>
657 <parameter name="vserver-name">
658 <description>The name of the current vserver.</description>
660 <parameter name="action">
661 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
668 <program name="pre-stop">
670 The scriptlet which will be executed before the vserver will be stopped.
673 <parameter name="vserver-dir">
674 <description>The configuration directory of the current vserver.</description>
676 <parameter name="vserver-name">
677 <description>The name of the current vserver.</description>
679 <parameter name="action">
680 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
684 <collection name="pre-stop.d">
686 Repository of pre-stop like scripts
688 <program name="script" type="symbolic">
689 <description>See pre-stop.</description>
691 <parameter name="vserver-dir">
692 <description>The configuration directory of the current vserver.</description>
694 <parameter name="vserver-name">
695 <description>The name of the current vserver.</description>
697 <parameter name="action">
698 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
704 <program name="post-stop">
706 The scriptlet which will be executed after the vserver has been stopped, but
707 before the directories will be umounted and the the interfaces
711 <parameter name="vserver-dir">
712 <description>The configuration directory of the current vserver.</description>
714 <parameter name="vserver-name">
715 <description>The name of the current vserver.</description>
717 <parameter name="action">
718 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
722 <collection name="post-stop.d">
724 Repository of post-stop like scripts
726 <program name="script" type="symbolic">
727 <description>See post-stop.</description>
729 <parameter name="vserver-dir">
730 <description>The configuration directory of the current vserver.</description>
732 <parameter name="vserver-name">
733 <description>The name of the current vserver.</description>
735 <parameter name="action">
736 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
742 <program name="postpost-stop">
744 The scriptlet which will be executed after the vserver has been stopped
748 <parameter name="vserver-dir">
749 <description>The configuration directory of the current vserver.</description>
751 <parameter name="vserver-name">
752 <description>The name of the current vserver.</description>
754 <parameter name="action">
755 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
759 <collection name="postpost-stop.d">
761 Repository of postpost-stop like scripts
763 <program name="script" type="symbolic">
764 <description>See postpost-stop.</description>
766 <parameter name="vserver-dir">
767 <description>The configuration directory of the current vserver.</description>
769 <parameter name="vserver-name">
770 <description>The name of the current vserver.</description>
772 <parameter name="action">
773 <description>The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).</description>
780 <collection name="interfaces">
781 <scalar name="bcast">
782 <description>The default broadcast address.</description>
785 <description>The default network device.</description>
787 <scalar name="prefix">
788 <description>The default network prefix-length.</description>
791 <description>The default network mask.</description>
793 <scalar name="scope">
794 <description>The default scope of the network interfaces.</description>
797 <collection name="iface" type="symbolic">
799 'iface' is an arbitrary name for the interface; the value itself is not important
800 but may be interesting regarding interface-creation and usage with 'chbind'. Both happens in
801 alphabetical order and numbers like '00' are good names for these directories.
804 <boolean name="disabled">
805 <description>When this file exists, this interface will be ignored.</description>
809 <description>The ip which will be assigned to this interface.</description>
811 <scalar name="bcast">
812 <description>The broadcast address.</description>
815 <description>The network device.</description>
817 <scalar name="prefix">
818 <description>The network prefix-length.</description>
821 <description>The network mask.</description>
823 <scalar name="scope">
824 <description>The scope of the network interface.</description>
828 When this file exists, the interface will be named
829 with the text in this file. Without such an entry,
830 the IP will not be shown by 'ifconfig' but by 'ip
831 addr ls' only. Such a labeled interface is known
832 as an "alias" also (e.g. 'eth0:foo').
835 <boolean name="nodev">
837 When this file exists, the interface will be
838 assumed to exist already. This can be used to
839 assign primary interfaces which are created by
840 the host or another vserver.
846 <collection name="ulimits">
848 A directory with ulimits. Possible resources are cpu, data, fsize, locks,
849 memlock, nofile, nproc, rss and/or stack. This configuration will be honored
852 <scalar name="resource" type="symbolic">
854 A file which contains the hard- and soft-limit of the given resource in the
855 first line. The special keyword 'inf' is recognized.
858 <scalar name="resource.hard" type="symbolic">
860 A file which contains the hard- of the given resource in the first line. The
861 special keyword 'inf' is recognized.
864 <scalar name="resource.soft" type="symbolic">
866 A file which contains the soft- of the given resource in the first line. The
867 special keyword 'inf' is recognized.
872 <collection name="rlimits">
874 A directory with resource limits. Possible resources are cpu, fsize, data, stack,
875 core, rss, nproc, nofile, memlock, as and locks. This configuration will be honored
878 <scalar name="resource" type="symbolic">
880 A file which contains the hard- and soft-limit of the given resource in the
881 first line. The special keyword 'inf' is recognized.
884 <scalar name="resource.hard" type="symbolic">
886 A file which contains the hard- of the given resource in the first line. The
887 special keyword 'inf' is recognized.
890 <scalar name="resource.soft" type="symbolic">
892 A file which contains the soft- of the given resource in the first line. The
893 special keyword 'inf' is recognized.
896 <scalar name="resource.min" type="symbolic">
898 A file which contains the guaranted minimum of the given resource in the first line. The
899 special keyword 'inf' is recognized.
904 <collection name="uts">
905 <scalar name="context">
907 The context-name of the vserver. This file is listed for completeness only;
908 the 'context' name is used and set internally by the util-vserver tools and can *not* be
912 <scalar name="sysname">
913 <description>The sysname of the vserver</description>
915 <scalar name="nodename">
916 <description>The node-/hostname of the vserver</description>
918 <scalar name="release">
919 <description>The OS-release of the vserver</description>
921 <scalar name="version">
922 <description>The OS-version of the vserver</description>
924 <scalar name="machine">
925 <description>The machine-type of the vserver</description>
927 <scalar name="domainname">
928 <description>The NIS domainname of the vserver</description>