Merge pull request #955 from BastilleBSD/doc-examples-and-updates

docs: Reorder boot and priority + minor fixes
This commit is contained in:
tschettervictor
2025-04-20 14:19:07 -06:00
committed by GitHub
12 changed files with 87 additions and 61 deletions

View File

@@ -1,46 +0,0 @@
Boot and Priority
=================
Boot
----
The boot setting controls whether a jail will be started on system startup. If
you have enabled bastille with ``sysrc bastille_enable=YES``, all jails with
``boot=on`` will start on system startup. Any jail(s) with ``boot=off`` will not
be started on system startup.
You can also use ``bastille start --boot TARGET`` to make Bastille respect the
boot setting. If ``-b|--boot`` is not used, the targeted jail(s) will start,
regardless of the boot setting.
Jails will still shut down on system shutdown, regardless of this setting.
The ``-b|--boot`` can also be used with the ``stop`` command. Any jails with
``boot=off`` will not be touched if ``stop`` is called with ``-b|--boot``. Same
goes for the ``restart`` command.
When jails are created with Bastille, the boot setting is set to ``on`` by
default. This can be overridden using the ``--no-boot`` flag. See ``bastille
create --no-boot TARGET...``.
This value can be changed using ``bastille config TARGET boot [on|off]``.
This value will be shown using ``bastille list all``.
Priority
--------
The priority value determines in what order commands are executed if multiple
jails are targetted. This also controls in what order jails are started and
stopped on system startup and shutdown. This requires Bastille to be enabled
with ``sysrc bastille_enable=YES``. Jails will start in order starting at the
lowest value, and will stop in order starting at the highest value. So, jails
with a priority value of 1 will start first, and stop last.
When jails are created with Bastille, this value defaults to ``99``, but can be
overridden with ``-p|--priority VALUE`` on creation. See ``bastille create
--priority 90 TARGET...``.
This value can be changed using ``bastille config TARGET priority VALUE``.
This value will be shown using ``bastille list all``.

View File

@@ -0,0 +1,44 @@
Startup Configuration
=====================
Bastille can start jails on system startup, and stop them on system shutdown. To enable this functionality, we
must first enable Bastille as a service using ``sysrc bastille_enable=YES``. Once you reboot your host, all jails
with ``boot=on`` will be started when the host boots.
If you have certain jails that must be started before other jails, you can use the priority option. Jails will start
in order starting at the lowest value, and will stop in order starting at the highest value. So, jails with a priority
value of 1 will start first, and stop last.
See the chapter on targeting for more info.
Boot
----
The boot setting controls whether a jail will be started on system startup. If you have enabled bastille
with ``sysrc bastille_enable=YES``, all jails with ``boot=on`` will start on system startup. Any jail(s)
with ``boot=off`` will not be started on system startup.
By default, when jails are created with Bastille, the boot setting is set to ``on`` by default. This can be overridden using
the ``--no-boot`` flag. See ``bastille create --no-boot TARGET...``.
You can also use ``bastille start --boot TARGET`` to make Bastille respect the boot setting. If ``-b|--boot`` is not
used, the targeted jail(s) will start, regardless of the boot setting.
Jails will still shut down on system shutdown, regardless of this setting.
The ``-b|--boot`` can also be used with the ``stop`` command. Any jails with ``boot=off`` will
not be touched if ``stop`` is called with ``-b|--boot``. Same goes for the ``restart`` command.
This value can be changed using ``bastille config TARGET boot [on|off]``.
This value will be shown using ``bastille list all``.
Startup Delay
-------------
Sometimes it is necessary to let a jail start fully before continuing to the next jail.
We can do this with another sysrc value called ``bastille_startup_delay``. Setting ``bastille_startup_delay=5`` will
tell Bastille to wait 5 seconds between starting each jail.
You can also use ``bastille start -d|--delay 5 all`` or ``bastille restart -d|--delay 5 all`` to achieve the same thing.

View File

@@ -1,7 +1,7 @@
config
======
Get or set properties for targeted jail(s).
Get,set or remove properties from targeted jail(s).
Getting a property that *is* defined in jail.conf:
@@ -26,10 +26,19 @@ Setting a property:
The restart message will appear every time a property is set.
Removing a property:
.. code-block:: shell
ishmael ~ # bastille config azkaban remove allow.mlock
A restart is required for the changes to be applied. See 'bastille restart azkaban'.
The restart message will appear every time a property is removed.
.. code-block:: shell
ishmael ~ # bastille config help
Usage: bastille config TARGET [get|set] PROPERTY_NAME NEW_VALUE
Usage: bastille config TARGET [get|set|remove] PROPERTY [VALUE]
Options:
-x | --debug Enable debug mode.

View File

@@ -19,6 +19,6 @@ Restart jail(s).
Options:
-b | --boot Respect jail boot setting.
-d | --delay VALUE Time (seconds) to wait after starting/stopping jail(s).
-d | --delay VALUE Time (seconds) to wait after starting each jail.
-v | --verbose Print every action on jail start.
-x | --debug Enable debug mode.

View File

@@ -16,6 +16,6 @@ Start jail(s).
Options:
-b | --boot Respect jail boot setting.
-d | --delay VALUE Time (seconds) to wait after starting jail(s).
-d | --delay VALUE Time (seconds) to wait after starting each jail.
-v | --verbose Print every action on jail start.
-x | --debug Enable debug mode.

View File

@@ -16,6 +16,5 @@ Stop jail(s).
Options:
-b | --boot Respect jail boot setting.
-d | --delay VALUE Time (seconds) to wait after stopping jail(s).
-v | --verbose Print every action on jail stop.
-x | --debug Enable debug mode.

View File

@@ -67,3 +67,19 @@ Examples: Releases
+-----------+--------------+--------------+------------------------------------+
| verify | 12.4-RELEASE | --- | verify 12.4-RELEASE release |
+-----------+--------------+--------------+------------------------------------+
Priority
--------
The priority value determines in what order commands are executed if multiple jails are targetted, including the ALL target.
It also controls in what order jails are started and stopped on system startup and shutdown. This requires Bastille to be enabled
with ``sysrc bastille_enable=YES``. Jails will start in order starting at the lowest value, and will stop in order starting
at the highest value. So, jails with a priority value of 1 will start first, and stop last.
When jails are created with Bastille, this value defaults to ``99``, but can be overridden with ``-p|--priority VALUE`` on
creation. See ``bastille create --priority 90 TARGET...``.
This value can be changed using ``bastille config TARGET priority VALUE``.
This value will be shown using ``bastille list all``.

View File

@@ -14,11 +14,10 @@ https://docs.bastillebsd.org.
chapters/installation
chapters/gettingstarted
chapters/configuration
chapters/boot-and-priority
chapters/upgrading
chapters/targeting
chapters/startup-configuration
chapters/networking
chapters/usage
chapters/targeting
chapters/upgrading
chapters/subcommands/index
chapters/template

View File

@@ -34,7 +34,7 @@
usage() {
error_notify "Usage: bastille config TARGET [get|set] PROPERTY_NAME NEW_VALUE"
error_notify "Usage: bastille config TARGET [get|set|remove] PROPERTY [VALUE]"
cat << EOF
Options:
@@ -87,9 +87,9 @@ shift 2
set_target "${TARGET}"
case "${ACTION}" in
get)
get|remove)
if [ "$#" -ne 1 ]; then
error_notify 'Too many parameters for a "get" operation.'
error_notify 'Too many parameters for [get|remove] operation.'
usage
fi
;;
@@ -183,6 +183,12 @@ for _jail in ${JAILS}; do
else
echo "${_output}"
fi
elif [ "${ACTION}" = "remove" ]; then
if [ "$(bastille config ${_jail} get ${PROPERTY})" != "not set" ]; then
sed -i '' "/.*${PROPERTY}.*/d" "${FILE}"
else
error_exit "Value not present in jail.conf: ${PROPERTY}"
fi
else # Setting the value. -- cwells
if [ -n "${VALUE}" ]; then
VALUE=$(echo "${VALUE}" | sed 's/\//\\\//g')
@@ -233,7 +239,7 @@ for _jail in ${JAILS}; do
done
# Only display this message once at the end (not for every jail). -- cwells
if [ "${ACTION}" = 'set' ] && [ -z "${BASTILLE_PROPERTY}" ]; then
if { [ "${ACTION}" = "set" ] || [ "${ACTION}" = "remove" ]; } && [ -z "${BASTILLE_PROPERTY}" ]; then
info "A restart is required for the changes to be applied. See 'bastille restart'."
fi

View File

@@ -36,7 +36,7 @@ usage() {
Options:
-b | --boot Respect jail boot setting.
-d | --delay VALUE Time (seconds) to wait after starting/stopping jail(s).
-d | --delay VALUE Time (seconds) to wait after starting each jail.
-v | --verbose Print every action on jail start.
-x | --debug Enable debug mode.

View File

@@ -38,7 +38,7 @@ usage() {
Options:
-b | --boot Respect jail boot setting.
-d | --delay VALUE Time (seconds) to wait after starting jail(s).
-d | --delay VALUE Time (seconds) to wait after starting each jail.
-v | --verbose Print every action on jail start.
-x | --debug Enable debug mode.

View File

@@ -38,7 +38,6 @@ usage() {
Options:
-b | --boot Respect jail boot setting.
-d | --delay VALUE Time (seconds) to wait after stopping jail(s).
-v | --verbose Print every action on jail stop.
-x | --debug Enable debug mode.