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.

Reviewed by:	kevans
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D24570
This commit is contained in:
Antranig Vartanian 2021-09-08 02:07:49 -05:00 committed by Kyle Evans
parent 35aa1d6e45
commit 7955efd574
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 July 8, 2021
.Dd September 10, 2021
.Dt RC.CONF 5
.Os
.Sh NAME
@ -3883,6 +3883,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