Опубликован выпуск Bastille 0.14.20250420, системы для автоматизации развёртывания и управления приложениями, запускаемыми в контейнерах, изолированных при помощи механизма FreeBSD Jail. Код написан на Shell, не требует для работы внешних зависимостей и распространяется под лицензией BSD.
Для управления контейнерами предоставляется утилита командной строки bastille, позволяющая создавать и обновлять Jail-окружения на базе выбранной версии FreeBSD, а также выполнять типовые операции с контейнерами, такие как запуск/остановка, сборка, клонирование, импорт/экспорт, преобразование, изменение настроек, управление сетевым доступом и задание ограничений потребления ресурсов.
Допускается развёртывание в контейнере окружений c Linux (Ubuntu и Debian), выполняемых с использованием Linuxulator. Из расширенных возможностей поддерживается запуск типовых команд разом в нескольких контейнерах, вложенные шаблоны, снапшоты и резервное копирование. Корневой раздел в контейнере монтируется в режиме только для чтения. Окружение для запуска контейнеров может быть создано как на физических серверах или платах Raspberry Pi, так и в облачных сервисах AWS EC2, Vultr и DigitalOcean.
В репозитории предлагается около 80 шаблонов для быстрого запуска контейнеров типовых приложений, в которых представлены программы для серверов (nginx, mysql, wordpress, asterisk, redis, postfix, elasticsearch, salt и т.п.), разработчиков (gitea, gitlab, jenkins
jenkins, python, php, perl, ruby, rust, go, node.js, openjdk) и пользователей (firefox, сhromium). Поддерживается создание стеков контейнеров, позволяющих использовать один шаблон в другом.
В новом выпуске:
- Добавлена опция “-c” (“–config”) и переменная окружения BASTILLE_CONFIG для задания пользовательского файла конфигурации. Данные будут храниться отдельно, в привязке к указанному файлу конфигурации.
- Добавлен режим auto-mode (“-a”, “–auto”) для запуска и остановки jail-окружений при необходимости.
- Добавлен режим debug-mode (“-x”, “–debug”) для отладки инфраструктуры.
- Реализована возможность добавления задержки перед запуском другого Jain-окружения (например, когда в одном jail запускается СУБД, используемая в остальных jail).
- Добавлена возможность указания нескольких целевых окружений в команде “console”.
- В команду “create” добавлена поддержка указания параметров ZFS и настройки VLAN для Jail с виртуальным сетевым стеком VNET.
- В команду “destroy” добавлена возможность удаления кэша и указания списка jail для выполнения операции.
- В команду “limits” добавлены операции “clear”, “reset”, “stats”, “show”, “add” и “remove”.
- В команду “list” добавлена возможность вывода в формате JSON.
- В команду “network” добавлена поддержка добавления и удаления разом нескольких сетевых интерфейсов в jail.
- На смену опции “rcorder” для управления порядком запуска реализованы опции “boot=on/off” и “priority=N”.