Add support for jail.conf.d

Using /etc/jail.{jailname}.conf is nice, however it makes /etc/ very
messy if you have many jails.  This patch allows one to move these
config files out of the way into /etc/jail.conf.d/{jailname}.conf.

Note that the same caveat as /etc/jail.*.conf applies: the jail service
will not autodiscover all of these for starting 'all' jails.  This is
considered future work, since the behavior matches.

(cherry picked from commit 7955efd574)
This commit is contained in:
Antranig Vartanian 2021-09-08 02:07:49 -05:00 committed by Kyle Evans
parent e14f57ffa6
commit 065edb739e
3 changed files with 14 additions and 1 deletions

View File

@ -56,6 +56,8 @@
..
gss
..
jail.conf.d
..
kyua tags=package=tests
..
mail

View File

@ -120,12 +120,16 @@ parse_options()
fi
eval _jconf=\"\${jail_${_jv}_conf:-/etc/jail.${_j}.conf}\"
eval _rootdir=\"\$jail_${_jv}_rootdir\"
eval _jconfdir=\"/etc/jail.conf.d/${_j}.conf\"
eval _hostname=\"\$jail_${_jv}_hostname\"
if [ -z "$_rootdir" -o \
-z "$_hostname" ]; then
if [ -r "$_jconf" ]; then
_conf="$_jconf"
return 0
elif [ -r "$_jconfdir" ]; then
_conf="$_jconfdir"
return 0
elif [ -r "$jail_conf" ]; then
_conf="$jail_conf"
return 0

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd March 3, 2022
.Dd March 9, 2022
.Dt RC.CONF 5
.Os
.Sh NAME
@ -3899,6 +3899,13 @@ The configuration filename used by
utility.
The default value is
.Pa /etc/jail.conf .
.Pa /etc/jail. Ns Ao Ar jname Ac Ns Va .conf
and
.Pa /etc/jail.conf.d/ Ns Ao Ar jname Ac Ns Va .conf
will also be used if
.Va Ao Ar jname Ac Va
is set in
.Va jail_list .
.It Va jail_parallel_start
.Pq Vt bool
If set to