Release Notes - Captain Jack
This release is dedicated to my son, Jack, who has a birthday today. Happy birthday, buddy.
Bastille is an open-source system for automating deployment and management containerized applications on FreeBSD.
- Follow @BastilleBSD on Mastodon
- Join the discussion BastilleBSD on Discord
- Join the discussion BastilleBSD on Telegram
- Subscribe to BastilleBSD on YouTube
- Support BastilleBSD on Patreon
0.5.20191125
Overview
This release includes a number of exciting new features and fixes to reported issues. Thank you to everyone that submitted feedback, GitHub issues and Pull Requests.
Container Types
This release introduces support for a different container design. By default, containers use a read-only mount of a release, which is put in place when the container is started. This method limits any changes to binaries in base path.
Now supported are read-write containers. This method fully replicates the contents of base into the container, allowing the container to manage FreeBSD version independent of any other container.
To use or test this method of container storage use the new -T|--thick
option to the create
sub-command.
Example:
bastille create -T alcatraz 12.1-RELEASE 10.17.89.10
Syntax Improvements
In previous versions it was required to put quotes ("") around long arguments in Bastille commands. This is no longer the case, but backward compatibility is retained.
These two statements are equivalent.
bastille pkg alcatraz install zsh vim-console git-lite htop
bastille pkg alcatraz 'install zsh vim-console git-lite htop'
While the pkg
sub-command is used for the example above, all Bastille
sub-commands should now be compabitle with either syntax. Including service
,
sysrc
, cmd
, etc.
Template Testing
Automation templates have been moved to GitLab and now take advantage of automated CI/CD testing. These templates (and usage instructions) can be found at BastilleBSD Templates.
The CI/CD pipeline status shown in the README of each template. You’ll know the quality of your template before you try to apply it.
template.sh
The Bastille template system has been improved with more verbose output and stricter testing. If any part of the template exits with a non-zero (OK) status, the template stops.
Exit code now displayed after each template hook application.
bootstrap.sh
This release adds the ability to update (via freebsd-update
) a release at the
time of bootstrapping. This means you can bootstrap 12.0-RELEASE and bring it
up to -p11 in the same step.
The update
argument is a new option to bootstrap
.
Example:
bastille bootstrap 12.0-RELEASE update
create.sh
Container network defaults can be overridden during the create
step. Append
the network interface name to the end of a standard create
and the container
will bind the ip to that interface on start.
bastille create alcatraz 12.1-RELEASE 10.17.89.15 vtnet0
BastilleBSD
BastilleBSD has been updated to reflect this release.
Follow @BastilleBSD on Mastodon for regular updates.
bug fixes
- fixed an issue with creating 12.1-RELEASE containers in 0.4.20191025
- fixed an issue with
usr/obj
andusr/test
being mistakenly copied to the wrong path - improved the jail.conf generation template
- cleaned up the release filtering and validation code
- template output now silent when no template found
- updated documentation to avoid pf.conf inconsistency
- updated BastilleBSD Documentation
- targeting regression fixed