git: 065edb739e15 - stable/13 - Add support for jail.conf.d
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Mar 2022 21:22:45 UTC
The branch stable/13 has been updated by kevans:
URL: https://cgit.FreeBSD.org/src/commit/?id=065edb739e151d4058448414c545f76d8cdc9a9c
commit 065edb739e151d4058448414c545f76d8cdc9a9c
Author: Antranig Vartanian <antranigv@freebsd.am>
AuthorDate: 2021-09-08 07:07:49 +0000
Commit: Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2022-03-09 21:21:49 +0000
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 7955efd574b98601a95da45d6d8e7f452631fddd)
---
etc/mtree/BSD.root.dist | 2 ++
libexec/rc/rc.d/jail | 4 ++++
share/man/man5/rc.conf.5 | 9 ++++++++-
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist
index f734f7891429..8bea31212217 100644
--- a/etc/mtree/BSD.root.dist
+++ b/etc/mtree/BSD.root.dist
@@ -56,6 +56,8 @@
..
gss
..
+ jail.conf.d
+ ..
kyua tags=package=tests
..
mail
diff --git a/libexec/rc/rc.d/jail b/libexec/rc/rc.d/jail
index ff4336131bc9..1d544501e32b 100755
--- a/libexec/rc/rc.d/jail
+++ b/libexec/rc/rc.d/jail
@@ -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
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index fad969b008d8..ff9123163a1e 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -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