1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE database SYSTEM "configuration.dtd" []>
5 <database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:noNamespaceSchemaLocation="file:configuration.xsd">
8 <!-- Global configuration -->
9 <collection name=".defaults" use="optional">
10 <collection name="init" type="fixed">
12 <description>Default mtab file</description>
16 <link name="vdirbase">
17 <default>/vservers</default>
18 <description>A link to the default vserver rootdirectory.</description>
22 <boolean name="nonamespace">
24 Disable namespace usage globally. It can be overridden for a single
25 vserver by setting the 'namespace' flag there.
27 In this mode the /vservers directory must have the 'barrier'
28 attribute. Else, common chroot(2) exploits are possible.
34 Path of the vserver run reverse directory. This directory contains
35 symlinks named with XID numbers which point back to the configuration
36 directory of vservers. Under kernel 2.4 this is required for the XID
37 to VSERVER mapping; Under kernel 2.6 it is unused.
39 NOTE: this link exists in 0.30.202+ only; in previous versions it was
40 a vserver specific setting.
44 <collection name="apps">
45 <collection name="pkgmgmt">
47 <default>/vservers/.pkg</default>
49 <data name="apt.conf">
50 <description>The default apt.conf which is going to be used. It is overridden by
51 distribution specific configuration file.
56 <collection name="debootstrap">
57 <scalar name="mirror">
59 The Debian mirror to use with the 'debootstrap' program
64 When the 'debootstrap' package is not installed; fetch it from this
65 uri and install it at a temporary place.
70 <collection name="vshelper">
73 The file where output will be logged to when 'vshelper' is invoked
74 from the kernel. This should point somewhere e.g. into /var/log.
78 <collection name="vshelper-methods">
79 <program name="handler" type="symbolic">
86 <boolean name="disabled">
88 When existing, the vshelper functionality will be disabled for all
93 <boolean name="debug">
95 When existing, the vshelper execution will be traced.
99 <boolean name="warning-disabled">
101 When existing, sanity checks for the vshelper functionality will be
108 <collection name="vprocunhide">
111 A list of files which will be made visibly by vprocunhide. Wildcards are
112 allowed and anything ending in '/' will be processed recursively. When this file exists,
113 it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
114 absolute filenames inclusive the leading '/proc'.
119 <collection name="init">
122 A symlink to the TTY device where input/output will be redirected from/to
123 at startup via initscript.
128 <collection name="vunify">
129 <list name="exclude">
130 <description>Static list of excluded files.</description>
133 <collection name="hash" since="0.30.205">
135 A directory which will be used as the storage place for the 'vhashify'
138 <link name="id" type="symbolic">
140 Points to a directory within the filesystems which are used for the
141 vservers. There must be not more than one of such a directory per
146 <scalar name="method" since="0.30.299">
147 <default>SHA1</default>
148 <description>The used hash method.</description>
152 <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
154 When existing, information from packagemanagement will not be used to
155 create dynamic exclude-lists.
159 <boolean name="pgkmgmt-force" default="off" since="0.30.205">
161 When existing, information from packagemanagement will be used to
162 create dynamic exclude-lists. This option requires that (a known)
163 packagemanagement is configured for the vserver; else the requested
164 operation will fail. Most tools assume 'on' as the default value.
172 <collection name=".distributions" use="optional">
173 <collection name="dist" type="symbolic">
175 <description></description>
177 <collection name="yum">
179 The default, yum-related content of the /etc directory.
181 <scalar name="yum.conf">
183 The master yum configuration file. It supports the @YUMETCDIR@,
184 @YUMCACHEDIR@ and @YUMLOGDIR@ placeholder which will be replaced at
185 'vserver ... build' time.
189 <collection name="yum.repos.d">
190 <description>A directory with yum repositories.</description>
192 <data name="apt.conf">
194 The default apt.conf which is going to be used. It overrides the
195 apt.conf from CONFDIR/.defaults/apps/pkgmgmt.
198 <program name="initpre">
200 Script which will be executed before packages will be installed.
203 <parameter name="confdir">
205 The configuration directory of the vserver which is going to be set up.
208 <parameter name="vserver">
210 The pathname of the vserver binary.
215 <program name="initpost">
217 Script which will be executed after packages are installed.
220 <parameter name="confdir">
222 The configuration directory of the vserver which is going to be set up.
225 <parameter name="vserver">
227 The pathname of the vserver binary.
233 <collection name="pkgs">
235 Contains files with packages.
239 File which contains the name of packages. On top of file the special
240 keywords '--reinstall' and '--can-fail' are possible.
245 <collection name="pubkeys">
247 Directory with GPG pubkeys which are used to sign the packages of this
252 <collection name="apt">
254 Default content of the /etc/apt/ directory.
258 <collection name="rpm">
260 Default content of the /etc/rpm directory.
266 Directory which overrides /usr/lib/rpm.
269 <link name="execdir">
271 Directory with all executables and libraries which are required for
278 <!-- Vserver configuration -->
279 <collection name="vserver-name" type="symbolic">
281 The configuration directory for the vserver vserver-name.
286 Path of the vserver root directory
292 Points to a file which will contain the XID of the running vserver. When
293 the vserver is stopped, this can be a dangling symlink.
297 <list name="bcapabilities">
299 [experimental; name is subject of possible change] Contains the system capabilities. See
300 <ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
304 <list name="ccapabilities">
306 [experimental; name is subject of possible change] Contains the
307 context capabilities. See <ulink
308 url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
313 <boolean name="namespace">
315 Overrides the global 'nonamespace' flag and enables namespace usage
316 for the current vserver.
320 <boolean name="nonamespace">
322 Disables namespace usage for the current vserver.
324 In this mode the /vservers directory must have the 'barrier'
325 attribute. Else, common chroot(2) exploits are possible.
329 <hash name="schedule">
331 [experimental; name is subject of possible change] Contains the
332 scheduler parameters, one per line.
334 The Hard CPU limit uses a mechanism called a Token Bucket. the
335 concept is simple: you have a bucket of a certain size which is
336 filled with a specified amount R of tokens each interval T until the
337 maximum is reached (excess tokens are spilled). At each timer tick,
338 a running process consumes one token from the bucket, unless the
339 bucket is empty. If the bucket is empty the process is put in the
340 hold queue. When the bucket has been refilled to at least M tokens,
341 all on hold processes are rescheduled.
344 <key name="fill-rate">
346 Amount of tokens append to the bucket each interval.
349 <key name="interval">
351 The intervall between refills of amount 'fill_rate'. This value is
357 Initial bucket contents.
360 <key name="tokens-min">
362 The minimum amount of tokens required to unhold processes
365 <key name="tokens-max">
370 <key name="priority-bias">
379 Contains the name of the vserver. When not given, the basename of the directory
380 will be assumed as this name.
385 The nice-level on which the vserver will be started.
388 <list name="capabilities">
390 Contains per line a capability. This file is used for the 2.4 kernel
391 only; for 2.6 use 'bcapabilities'.
394 <scalar name="shell">
396 Contains the pathname of the shell which will be used by the "vserver
402 Contains per line a flag. See <ulink
403 url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
407 <element name="fakeinit">
409 The new process will believe it is process number 1. Useful to run a
410 real /sbin/init in a vserver. Warning: this flag should not be used
411 unless you know what you are doing. Often, it is better to use the
415 <element name="lock">
417 The new process is trapped and can't use chcontext anymore.
420 <element name="sched">
422 The new process and its children will share a common
425 <element name="nproc">
427 Limit the number of process in the vserver according to
428 ulimit setting. Normally, ulimit is a per user thing.
429 With this flag, it becomes a per vserver thing.
432 <element name="private">
434 No one can join this security context once created.
437 <element name="ulimit">
439 Apply the current ulimit to the whole context
444 <scalar name="context">
446 Contains the context which shall be used for the vserver.
451 The fstab file for the vserver. Entries in this file will be mounted
452 within the network context of the vserver; this means that mount will
453 be called as 'chbind <options> mount ...'. Use the 'fstab.local'
454 file when you do not want this behavior, but in most cases the 'fstab'
458 <data name="fstab.local">
460 The fstab file for the vserver. In opposite to the normal 'fstab'
461 file, the mounting happens in the local network context. Currently
462 there is no way to mix entries of both files; 'fstab' will be always
463 processed before 'fstab.local'.
467 <collection name="apps">
468 <collection name="init">
471 The initial-mtab which will be used for the vserver.
475 <scalar name="style">
477 Contains the init-style.
480 <enumeration value="sysv"/>
481 <enumeration value="plain"/>
482 <enumeration value="minit"/>
483 <enumeration value="gento"/>
487 <scalar name="runlevel">
488 <description>The start runlevel.</description>
491 <scalar name="runlevel.start">
492 <description>The start runlevel.</description>
495 <scalar name="runlevel.stop">
496 <description>The stop runlevel.</description>
499 <scalar name="killseq">
501 Contains the 'signal [wait signal]*' sequence which is used to stop
506 <list name="cmd.start">
508 The command which is used to start the vserver. Each option must be on
513 <list name="cmd.start-sync">
515 The command which is used to wait on the vserver after it has been
516 started. Each option must be on a separate line. This file will be
517 ignored when the 'sync' does not exist and the '--sync' option was not
522 <list name="cmd.stop">
524 The command which is used to stop the vserver. Each option must be on
529 <list name="cmd.stop-sync">
531 The command which is used to wait on the vserver after it has been
532 stopped. Each option must be on a separate line. This file will be
533 ignored when the 'sync' does not exist and the '--sync' option was not
538 <list name="cmd.prepare">
540 The command which is used to setup the init-system (e.g. to set the
541 runlevel in the utmp-file). Each option must be on a separate line.
545 <boolean name="sync">
547 If this file is not present, all 'cmd.*-sync files will be ignored.
553 A symlink to the TTY device where input/output will be redirected
554 from/to at startup via initscript.
560 This file is used to mark group of vservers which shall be started/stopped
561 together by the initscript. Content is a simple string like 'default'.
565 <list name="depends">
567 This file is used to configure vservers which must be running before
568 the current vserver can be started. At shutdown, the current vserver
569 will be stopped before its dependencies. Content of this file are
570 vserver ids (one name per line).
575 <collection name="vshelper">
576 <scalar name="sync-timeout">
577 <default>30</default>
579 The timeout in seconds which is used when synchronising vserver
580 startup/shutdown with the vshelper. When no set, 30 seconds will be
585 <scalar name="action">
586 <default>restart</default>
588 The action which is going to be executed when a vshelper event occurs. The
589 default value is 'restart', but there can be defined own methods by placing
590 scripts into the 'vshelper-methods' directories. These scripts are fed with
591 the same arguments as the 'vshelper' script.
595 <program name="event" type="symbolic">
597 When existing. these scripts will be executed *instead* of the default
598 handler defined in 'action'. Their name must match the event which
599 caused the execution of 'vshelper'; e.g. 'restart' or 'poweroff'. See
600 the vs_reboot() function in the kernel for more details.
603 <parameter name="xid">
605 The xid of the context calling the vshelper
608 <parameter name="event">
616 <boolean name="disabled">
618 When existing, the vshelper functionality will be disabled for this
623 <boolean name="debug">
625 When existing, the vshelper execution will be traced for this vserver.
629 <boolean name="warning-disabled">
631 When existing, sanity checks for the vshelper functionality will be
638 <collection name="vshelper-methods">
639 <program name="handler" type="symbolic">
646 <collection name="vunify">
648 This directory contains configuration data required for vserver
652 <list name="exclude">
654 Static list of excluded files. This list supports an rsync syntax:
655 when a file is prefixed by '+', it is a candidate for unification;
656 when there is no prefix or a '-' it will be excluded. Shell-wildcards
657 are allowed for the filenames.
661 <link name="refserver.X" type="symbolic">
663 These are symlinks to the configuration directory
664 (e.g. CONFDIR/vservers/<id>) of a refserver. There may be
665 multiple such symlinks but they must be prefixed by 'refserver.' and
666 will be processed in alphanumerical order.
670 <collection name="hash" since="0.30.205">
672 A directory which will be used as the storage place for the 'vhashify'
675 <link name="id" type="symbolic">
677 Points to a directory within the filesystems which are used for the
678 vservers. There must be not more than one of such a directory per
683 <scalar name="method" since="0.30.299">
684 <default>SHA1</default>
685 <description>The used hash method.</description>
689 <boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
691 When existing, information from packagemanagement will not be used to
692 create dynamic exclude-lists.
696 <boolean name="pgkmgmt-force" default="off" since="0.30.205">
698 When existing, information from packagemanagement will be used to
699 create dynamic exclude-lists. This option requires that (a known)
700 packagemanagement is configured for the vserver; else the requested
701 operation will fail. Most tools assume 'on' as the default value.
708 <collection name="scripts">
710 A directory for scripts. By default, when one of these scripts will be
711 executed, the execution of defaultscripts (within .../.defaults/scripts)
712 will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
713 environment variable must be set by one of the in-shellcontext scripts
714 (the non-executable ones).
717 <program name="prepre-start">
719 The scriptlet which will be executed before the network-interfaces are
720 enabled and the directories are mounted."
723 <parameter name="vserver-dir">
725 The configuration directory of the current vserver.
728 <parameter name="vserver-name">
730 The name of the current vserver.
733 <parameter name="action">
735 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
740 <collection name="prepre-start.d">
742 Repository of prepre-start like scripts
744 <program name="script" type="symbolic">
745 <description>See prepre-start.</description>
747 <parameter name="vserver-dir">
749 The configuration directory of the current vserver.
752 <parameter name="vserver-name">
754 The name of the current vserver.
757 <parameter name="action">
759 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
766 <program name="pre-start">
768 The scriptlet which will be executed after network-interfaces were
769 enabled and the directories mounted, but before the vserver itself has
773 <parameter name="vserver-dir">
775 The configuration directory of the current vserver.
778 <parameter name="vserver-name">
780 The name of the current vserver.
783 <parameter name="action">
785 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
790 <collection name="pre-start.d">
792 Repository of pre-start like scripts
794 <program name="script" type="symbolic">
795 <description>See pre-start.</description>
797 <parameter name="vserver-dir">
799 The configuration directory of the current vserver.
802 <parameter name="vserver-name">
803 <description>The name of the current vserver.</description>
805 <parameter name="action">
807 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
815 <program name="post-start">
817 The scriptlet which will be executed after the vserver has been started.
820 <parameter name="vserver-dir">
821 <description>The configuration directory of the current vserver.</description>
823 <parameter name="vserver-name">
824 <description>The name of the current vserver.</description>
826 <parameter name="action">
828 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
833 <collection name="post-start.d">
834 <description>Repository of post-start like scripts</description>
835 <program name="script" type="symbolic">
836 <description>See post-start.</description>
838 <parameter name="vserver-dir">
839 <description>The configuration directory of the current vserver.</description>
841 <parameter name="vserver-name">
842 <description>The name of the current vserver.</description>
844 <parameter name="action">
846 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
854 <program name="pre-stop">
856 The scriptlet which will be executed before the vserver will be stopped.
859 <parameter name="vserver-dir">
860 <description>The configuration directory of the current vserver.</description>
862 <parameter name="vserver-name">
863 <description>The name of the current vserver.</description>
865 <parameter name="action">
867 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
872 <collection name="pre-stop.d">
874 Repository of pre-stop like scripts
876 <program name="script" type="symbolic">
877 <description>See pre-stop.</description>
879 <parameter name="vserver-dir">
880 <description>The configuration directory of the current vserver.</description>
882 <parameter name="vserver-name">
883 <description>The name of the current vserver.</description>
885 <parameter name="action">
887 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
894 <program name="post-stop">
896 The scriptlet which will be executed after the vserver has been
897 stopped, but before the directories will be umounted and the the
901 <parameter name="vserver-dir">
902 <description>The configuration directory of the current vserver.</description>
904 <parameter name="vserver-name">
905 <description>The name of the current vserver.</description>
907 <parameter name="action">
909 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
914 <collection name="post-stop.d">
915 <description>Repository of post-stop like scripts</description>
916 <program name="script" type="symbolic">
917 <description>See post-stop.</description>
919 <parameter name="vserver-dir">
920 <description>The configuration directory of the current vserver.</description>
922 <parameter name="vserver-name">
923 <description>The name of the current vserver.</description>
925 <parameter name="action">
927 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
934 <program name="postpost-stop">
936 The scriptlet which will be executed after the vserver has been stopped
940 <parameter name="vserver-dir">
941 <description>The configuration directory of the current vserver.</description>
943 <parameter name="vserver-name">
944 <description>The name of the current vserver.</description>
946 <parameter name="action">
948 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
953 <collection name="postpost-stop.d">
954 <description>Repository of postpost-stop like scripts</description>
955 <program name="script" type="symbolic">
956 <description>See postpost-stop.</description>
958 <parameter name="vserver-dir">
959 <description>The configuration directory of the current vserver.</description>
961 <parameter name="vserver-name">
962 <description>The name of the current vserver.</description>
964 <parameter name="action">
966 The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
974 <collection name="interfaces">
975 <scalar name="bcast">
976 <description>The default broadcast address.</description>
979 <description>The default network device.</description>
981 <scalar name="prefix">
982 <description>The default network prefix-length.</description>
985 <description>The default network mask.</description>
987 <scalar name="scope">
988 <description>The default scope of the network interfaces.</description>
991 <collection name="iface" type="symbolic">
993 'iface' is an arbitrary name for the interface; the value itself is
994 not important but may be interesting regarding interface-creation and
995 usage with 'chbind'. Both happens in alphabetical order and numbers
996 like '00' are good names for these directories.
999 <boolean name="disabled">
1000 <description>When this file exists, this interface will be ignored.</description>
1004 <description>The ip which will be assigned to this interface.</description>
1006 <scalar name="bcast">
1007 <description>The broadcast address.</description>
1010 <description>The network device.</description>
1012 <scalar name="prefix">
1013 <description>The network prefix-length.</description>
1015 <scalar name="mask">
1016 <description>The network mask.</description>
1018 <scalar name="scope">
1019 <description>The scope of the network interface.</description>
1021 <scalar name="name">
1023 When this file exists, the interface will be named with the text in this
1024 file. Without such an entry, the IP will not be shown by 'ifconfig' but
1025 by 'ip addr ls' only. Such a labeled interface is known as an "alias"
1026 also (e.g. 'eth0:foo').
1029 <boolean name="nodev">
1031 When this file exists, the interface will be assumed to exist
1032 already. This can be used to assign primary interfaces which are
1033 created by the host or another vserver.
1039 <collection name="ulimits">
1041 A directory with ulimits. Possible resources are cpu, data, fsize,
1042 locks, memlock, nofile, nproc, rss and/or stack. This configuration
1043 will be honored for kernel 2.4 only.
1045 <scalar name="resource" type="symbolic">
1047 A file which contains the hard- and soft-limit of the given resource
1048 in the first line. The special keyword 'inf' is recognized.
1051 <scalar name="resource.hard" type="symbolic">
1053 A file which contains the hard- of the given resource in the first
1054 line. The special keyword 'inf' is recognized.
1057 <scalar name="resource.soft" type="symbolic">
1059 A file which contains the soft- of the given resource in the first
1060 line. The special keyword 'inf' is recognized.
1065 <collection name="rlimits">
1067 A directory with resource limits. Possible resources are cpu, fsize,
1068 data, stack, core, rss, nproc, nofile, memlock, as and locks. This
1069 configuration will be honored for kernel 2.6 only.
1071 <scalar name="resource" type="symbolic">
1073 A file which contains the hard- and soft-limit of the given resource
1074 in the first line. The special keyword 'inf' is recognized.
1077 <scalar name="resource.hard" type="symbolic">
1079 A file which contains the hard- of the given resource in the first
1080 line. The special keyword 'inf' is recognized.
1083 <scalar name="resource.soft" type="symbolic">
1085 A file which contains the soft- of the given resource in the first
1086 line. The special keyword 'inf' is recognized.
1089 <scalar name="resource.min" type="symbolic">
1091 A file which contains the guaranted minimum of the given resource in
1092 the first line. The special keyword 'inf' is recognized.
1097 <collection name="uts">
1098 <scalar name="context">
1100 The context-name of the vserver. This file is listed for completeness
1101 only; the 'context' name is used and set internally by the util-vserver
1102 tools and can *not* be modified.
1105 <scalar name="sysname">
1106 <description>The sysname of the vserver</description>
1108 <scalar name="nodename">
1109 <description>The node-/hostname of the vserver</description>
1111 <scalar name="release">
1112 <description>The OS-release of the vserver</description>
1114 <scalar name="version">
1115 <description>The OS-version of the vserver</description>
1117 <scalar name="machine">
1118 <description>The machine-type of the vserver</description>
1120 <scalar name="domainname">
1121 <description>The NIS domainname of the vserver</description>