The release of Bastille 0.14.20250420 has been published, a system for automating the deployment and management of applications running in containers isolated using the FreeBSD Jail mechanism. The code is written in Shell, does not require external dependencies to operate, and is distributed under the BSD license.
To manage containers, a command-line utility called bastille is provided, allowing you to create and update Jail environments based on a selected version of FreeBSD, as well as perform typical operations with containers such as start/stop, build, clone, import/export, convert, modify settings, manage network access, and set resource consumption limits.
It is permissible to deploy Linux environments (Ubuntu and Debian) in a container using Linuxulator. Advanced features include the ability to run typical commands simultaneously in multiple containers, nested templates, snapshots, and backups. The root partition in the container is mounted in read-only mode. The environment for running containers can be created on physical servers or Raspberry Pi boards, as well as in cloud services such as AWS EC2, Vultr, and DigitalOcean.
The repository offers about 80 templates for the quick launch of containers for typical applications, including programs for servers (nginx, mysql, wordpress, asterisk, redis, postfix, elasticsearch, salt, etc.), developers (gitea, gitlab, jenkins, python, php, perl, ruby, rust, go, node.js, openjdk), and users (firefox, chromium). The creation of container stacks, allowing one template to be used in another, is supported.
In the new release:
- An option "-c" ("--config") and the BASTILLE_CONFIG environment variable have been added to specify a custom configuration file. When using this option, data will be stored separately, linked to the specified configuration file.
- An auto-mode option ("-a", "--auto") has been added for starting and stopping jail environments as needed.
- A debug-mode option ("-x", "--debug") has been introduced for debugging the infrastructure.
- The ability to add a delay before starting another Jail environment has been implemented (for example, when a DBMS is running in one jail that is used in other jails).
- The ability to specify multiple target environments in the "console" command has been added.
- The 'create' command has been updated to support ZFS parameters and VLAN configuration (for Jail with virtual networking stack VNET).
- The 'destroy' command now includes the ability to delete the cache and specify a list of jails to operate on multiple jails simultaneously.
- The 'limits' command has been enhanced with 'clear', 'reset', 'stats', 'show', 'add', and 'remove' operations.
- The 'list' command now supports output in JSON format.
- The 'network' command has been updated to allow the addition and removal of multiple network interfaces in a jail at once.
- The 'rcorder' option has been deprecated, and new options 'boot=on/off' and 'priority=N' have been introduced for managing startup.
Source: opennet.ru
