Opublikowano wydanie Bastille 0.14.20250420, systemu do automatyzacji wdrażania i zarządzania aplikacjami uruchamianymi w kontenerach, izolowanych za pomocą mechanizmu FreeBSD Jail. Kod jest napisany w Shell, nie wymaga zewnętrznych zależności do działania i jest rozpowszechniany na licencji BSD.
Do zarządzania kontenerami dostępne jest narzędzie wiersza poleceń bastille, które pozwala tworzyć i aktualizować środowiska Jail oparte na wybranej wersji FreeBSD, a także wykonywać typowe operacje z kontenerami, takie jak uruchamianie/zatrzymywanie, budowanie, klonowanie, import/eksport, konwersja, zmiana ustawień, zarządzanie dostępem do sieci i ustalanie ograniczeń zużycia zasobów.
Możliwe jest wdrażanie w kontenerze środowisk z Linuxem (Ubuntu i Debian), korzystających z Linuxulator. Wśród zaawansowanych funkcji wspierane jest uruchamianie typowych komend jednocześnie w wielu kontenerach, zagnieżdżone szablony, migawki i tworzenie kopii zapasowych. Partycja główna w kontenerze jest montowana w trybie tylko do odczytu. Środowisko do uruchamiania kontenerów może być tworzone zarówno na fizycznych serwerach jak i na płyta Raspberry Pi oraz w serwisach chmurowych AWS EC2, Vultr i DigitalOcean.
W repozytorium dostępnych jest około 80 szablonów do szybkiego wdrażania kontenerów typowych aplikacji, które obejmują programy dla serwerów (nginx, mysql, wordpress, asterisk, redis, postfix, elasticsearch, salt itd.), dla programistów (gitea, gitlab, jenkins, python, php, perl, ruby, rust, go, node.js, openjdk) i użytkowników (firefox, chromium). Wspierane jest tworzenie stosów kontenerów, które pozwalają na wykorzystanie jednego szablonu w innym.
W nowym wydaniu:
- Dodano opcję „-c” („—config”) oraz zmienną środowiskową BASTILLE_CONFIG do określenia niestandardowego pliku konfiguracyjnego. Przy użyciu tej opcji dane będą przechowywane osobno, powiązane z określonym plikiem konfiguracyjnym.
- Dodano tryb auto-mode („-a”, „—auto”) do uruchamiania i zatrzymywania środowisk jail w razie potrzeby.
- Dodano tryb debug-mode („-x”, „—debug”) do debugowania infrastruktury.
- Zrealizowano możliwość dodania opóźnienia przed uruchomieniem innego Jail-środowiska (na przykład, gdy w jednym jail uruchamiana jest baza danych używana w innych jail).
- Dodano możliwość wskazania kilku docelowych środowisk w poleceniu „console”.
- Do zespołu „create” dodano wsparcie dla parametrów ZFS i konfiguracji VLAN (dla Jail z wirtualnym stosowaniem sieci VNET).
- Do zespołu „destroy” dodano możliwość usuwania pamięci podręcznej i wskazywania listy jail do jednoczesnego wykonania operacji na kilku jail.
- Do zespołu „limits” dodano operacje „clear”, „reset”, „stats”, „show”, „add” i „remove”.
- Do zespołu „list” dodano możliwość wyjścia w formacie JSON.
- Do zespołu „network” dodano wsparcie dla dodawania i usuwania wielu interfejsów sieciowych jednocześnie w jail.
- Opcja „rcorder” została oznaczona jako przestarzała, dla zarządzania uruchamianiem wprowadzono nowe opcje „boot=on/off” i „priority=N”.
Źródło: opennet.ru
