Bastille 0.10.20231125 - Thanksgiving 2023
Pre-releaseWe're Thankful For First-Time Contributors!
This release had eight first-time contributors. Thank you for becoming a part of Bastille history. Welcome to the club!
New Contributors
- @tub5ta made their first contribution in #608
- @tucoinfo made their first contribution in #613
- @NikosChondros made their first contribution in #575
- @majsterkoo made their first contribution in #624
- @adriel-tech made their first contribution in #623
- @smortex made their first contribution in #628
- @brendans-bits made their first contribution in #630
- @dsh2dsh made their first contribution in #629
Release Highlights
Support BETA and RC branches
Bastille now supports bootstrapping and testing FreeBSD BETA and RC branches. While we didn't get this out in time for 14.0-RELEASE, this will be a great way to help test future releases.
Example:
bastille bootstrap 14.0-RC4
bastille bootstrap 14.0-BETA1
Support EOL releases (>=9.0-RELEASE)
In addition to BETA and RC releases, Bastille now supports bootstrapping EOL releases all the way back to FreeBSD 9.0-RELEASE! Documentation on how to bootstrap EOL releases is now found in the Bastille bootstrap documentation.
Example:
export BASTILLE_URL_FREEBSD=http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/
bastille bootstrap 11.1-RELEASE
bastille bootstrap 12.2-RELEASE
sysrc bastille_rcorder=YES
This release introduces an improvement to the Bastille startup script that supports an alternative startup/shutdown ordering of jails using rcorder
. The existing bastille_list="jail1 jail2 jail3"
is still supported, but alternatively you can use bastille_rcorder=YES
instead to dynamically build the startup/shutdown list. If you enable bastille_rcorder
, disable bastille_list
.
Example:
sysrc bastille_enable=YES
sysrc bastille_rcorder=YES
This method will ignore any jail with # KEYWORD: nostart
in the jail.conf
. Additionally, it will build dependencies using the # REQUIRE: foo
and # PROVIDE: foo
syntax. See #629 for details.
beta/jail.conf
# KEYWORD: nostart
beta {
...
}
alpha/jail.conf
# REQUIRE: db
alpha {
...
}
db/jail.conf
# PROVIDE: db
db {
...
}
What this means is you can define jail dependencies by adding # PROVIDE:
and # REQUIRE:
statements to jail.conf files.
bastille rcp
Bastille now includes an rcp
sub-command. Reverse-copy, for when you want to copy files from containers back to the host.
This command should essentially do the opposite of the cp
sub-command.
osrelease
Bastille now sets osrelease = ${RELEASE};
in jail.conf for new containers. This variable will be set to match the jail's FreeBSD release. The result of this change means uname -r
will properly report jail release version instead of host release version.
combine create options
Bastille now supports combining create options.
Example:
bastille create -CV 01-clone-vnet 14.0-RELEASE DHCP em0
bastille create -TB 01-thick-bridge 14.0-RELEASE DHCP bridge0
bastille create -TV 01-thick-vnet 14.0-RELEASE DHCP em0
bastille create -CB 01-clone-bridge 14.0-RELEASE DHCP bridge0
Note: combined options are supported in any order (-CV|-VC), (-TB|-BT), etc and each respective base template should be applied.
bastille setup vnet
Bastille setup will now populate an /etc/devfs.rules
file for use with VNET jails. The file will include these rules:
[bastille_vnet=13]
add include $devfsrules_hide_all
add include $devfsrules_unhide_basic
add include $devfsrules_unhide_login
add include $devfsrules_jail
add include $devfsrules_jail_vnet
add path 'bpf*' unhide
bastille_zfs_enable=([Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
Long overdue, Bastille no longer includes any tests looking for a hard-coded uppercase "YES" when testing whether ZFS is enabled. It now uses a standard test throughout the code that runs a simple checkyesno
function. This function tests for any combination of upper and/or lowercase values for: yes, true, on, 1
for enabled. It will treat any combination of upper and/or lowercase values for no, false, off, 0
for disabled. Anything else reports that the value is not properly configured.
Documentation Updates
We've made a number of updates to the Bastille documentation. New and upgraded documents include:
- iocage migration example
- notes regarding container MOTD, uname and the use of
.hushlogin
- examples on how to compile ports inside containers
- documented the "official" container upgrade/downgrade process
- bootstrap EOL releases of FreeBSD (>=9.0-RELEASE)
As always, the latest documentation can be found at https://docs.bastillebsd.org
Merged Changes
- Update bastille.conf.sample by @JRGTH in #606
- Permit jail upgrades to use BETA and RC branches by @tub5ta in #608
- Add rdr pf conf check by @JRGTH in #605
- Validate jib during jail import by @JRGTH in #598
- fix for JID instead of jail name in list printout by @bmac2 in #612
- fix-issue-601 by @tucoinfo in #613
- Update template.rst by @tucoinfo in #617
- vnet bridging definitions by @bmac2 in #614
- added iocage migration doc by @bmac2 in #616
- documentation of uname and MOTD & hushlogin by @bmac2 in #619
- Add rcp (reverse copy) command by @NikosChondros in #575
- documenting the use of ports in a template by @bmac2 in #620
- Updatejail by @bmac2 in #622
- Fix generated interface name in rc.conf for vnet jail by @majsterkoo in #624
- fix configure_zfs() to properly return status of zfs module. by @adriel-tech in #623
- CIDR documentation on create command by @bmac2 in #615
- Relax validation of -BETA / -RC releases by @smortex in #628
- Added note on updating bastille.conf when upgrading by @brendans-bits in #630
- add osrelease to jail.conf for new jails by @cedwards in #632
- rcorder(8)-ed startup script by @dsh2dsh in #629
- initial support & docs to bootstrap EOL releases by @cedwards in #633
- fix readthedocs build info by @cedwards in #634
- fix more readthedocs build info by @cedwards in #635
- update documentation for 14.0-RELEASE by @cedwards in #637
- support combining options for bastille create by @cedwards in #638
- support upper & lowercase values in bastille.conf by @cedwards in #639
- fix for recent EOL support patch by @cedwards in #640
- add support for bastille_vnet devfs.rules in bastille setup by @cedwards in #641
Full Changelog: 0.10.20231013...0.10.20231125