mirror of
https://github.com/BastilleBSD/bastille.git
synced 2025-12-11 09:29:55 +01:00
Merge pull request #888 from BastilleBSD/create-custom-zfs-options
create: Allow setting zfs options on creating jail
This commit is contained in:
@@ -48,3 +48,27 @@ Also, uname does not work from within a jail. Much like MOTD, it gives you the
|
||||
information about the host system instead of the jail. If you need to check the version
|
||||
of freebsd running on the jail use the freebsd-version command to get accurate information.
|
||||
|
||||
|
||||
Bastille can create many different types of jails, along with many different options. See
|
||||
the below help output.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
ishmael ~ # bastille create help
|
||||
|
||||
Usage: bastille create [option(s)] NAME RELEASE IP_ADDRESS [interface]"
|
||||
|
||||
Options:
|
||||
|
||||
-B | --bridge Enables VNET, VNET containers are attached to a specified, already existing external bridge.
|
||||
-C | --clone Creates a clone container, they are duplicates of the base release, consume low space and preserves changing data.
|
||||
-D | --dual Creates the jails with both IPv4 and IPv6 networking ('inherit' and 'ip_hostname' only).
|
||||
-E | --empty Creates an empty container, intended for custom jail builds (thin/thick/linux or unsupported).
|
||||
-L | --linux This option is intended for testing with Linux jails, this is considered experimental.
|
||||
-M | --static-mac Generate a static MAC address for jail (VNET only).
|
||||
--no-validate Do not validate the release when creating the jail.
|
||||
-T | --thick Creates a thick container, they consume more space as they are self contained and independent.
|
||||
-V | --vnet Enables VNET, VNET containers are attached to a virtual bridge interface for connectivity.
|
||||
-x | --debug Enable debug mode.
|
||||
-Z | --zfs-opts [zfs,options] Comma separated list of ZFS options to create the jail with. This overrides the defaults.
|
||||
|
||||
|
||||
@@ -41,14 +41,17 @@ usage() {
|
||||
cat << EOF
|
||||
Options:
|
||||
|
||||
-B | --bridge Enables VNET, VNET containers are attached to a specified, already existing external bridge.
|
||||
-C | --clone Creates a clone container, they are duplicates of the base release, consume low space and preserves changing data.
|
||||
-D | --dual Creates the jails with both IPv4 and IPv6 networking ('inherit' and 'ip_hostname' only).
|
||||
-M | --static-mac Generate a static MAC address for jail (VNET only).
|
||||
-E | --empty Creates an empty container, intended for custom jail builds (thin/thick/linux or unsupported).
|
||||
-L | --linux This option is intended for testing with Linux jails, this is considered experimental.
|
||||
-M | --static-mac Generate a static MAC address for jail (VNET only).
|
||||
--no-validate Do not validate the release when creating the jail.
|
||||
-T | --thick Creates a thick container, they consume more space as they are self contained and independent.
|
||||
-V | --vnet Enables VNET, VNET containers are attached to a virtual bridge interface for connectivity.
|
||||
-C | --clone Creates a clone container, they are duplicates of the base release, consume low space and preserves changing data.
|
||||
-B | --bridge Enables VNET, VNET containers are attached to a specified, already existing external bridge.
|
||||
-x | --debug Enable debug mode.
|
||||
-Z | --zfs-opts zfs,options Comma separated list of ZFS options to create the jail with. This overrides the defaults.
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
@@ -671,12 +674,17 @@ while [ $# -gt 0 ]; do
|
||||
-h|--help|help)
|
||||
usage
|
||||
;;
|
||||
-D|--dual)
|
||||
DUAL_STACK="1"
|
||||
-B|--bridge)
|
||||
VNET_JAIL="1"
|
||||
VNET_JAIL_BRIDGE="1"
|
||||
shift
|
||||
;;
|
||||
-M|--static-mac)
|
||||
STATIC_MAC="1"
|
||||
-C|--clone)
|
||||
CLONE_JAIL="1"
|
||||
shift
|
||||
;;
|
||||
-D|--dual)
|
||||
DUAL_STACK="1"
|
||||
shift
|
||||
;;
|
||||
-E|--empty)
|
||||
@@ -687,6 +695,14 @@ while [ $# -gt 0 ]; do
|
||||
LINUX_JAIL="1"
|
||||
shift
|
||||
;;
|
||||
-M|--static-mac)
|
||||
STATIC_MAC="1"
|
||||
shift
|
||||
;;
|
||||
--no-validate|no-validate)
|
||||
VALIDATE_RELEASE=""
|
||||
shift
|
||||
;;
|
||||
-T|--thick)
|
||||
THICK_JAIL="1"
|
||||
shift
|
||||
@@ -695,18 +711,13 @@ while [ $# -gt 0 ]; do
|
||||
VNET_JAIL="1"
|
||||
shift
|
||||
;;
|
||||
-B|--bridge)
|
||||
VNET_JAIL="1"
|
||||
VNET_JAIL_BRIDGE="1"
|
||||
-x|--debug)
|
||||
enable_debug
|
||||
shift
|
||||
;;
|
||||
-C|--clone)
|
||||
CLONE_JAIL="1"
|
||||
shift
|
||||
;;
|
||||
--no-validate|no-validate)
|
||||
VALIDATE_RELEASE=""
|
||||
shift
|
||||
-Z|--zfs-opts)
|
||||
bastille_zfs_options="${2}"
|
||||
shift 2
|
||||
;;
|
||||
-*)
|
||||
for _opt in $(echo ${1} | sed 's/-//g' | fold -w1); do
|
||||
|
||||
Reference in New Issue
Block a user