Publication de la version Bastille 0.14.20250420, un système d'automatisation du déploiement et de la gestion des applications fonctionnant dans des conteneurs isolés par le mécanisme FreeBSD Jail. Le code est écrit en Shell, ne nécessite pas de dépendances externes et est distribué sous la licence BSD.
Pour gérer les conteneurs, l'utilitaire en ligne de commande bastille est fourni, permettant de créer et de mettre à jour des environnements Jail basés sur la version choisie de FreeBSD, ainsi que d'effectuer des opérations typiques avec les conteneurs, telles que démarrer/arrêter, assembler, cloner, importer/exporter, transformer, modifier les paramètres, gérer l'accès réseau et définir des limites de consommation des ressources.
Le déploiement d'environnements Linux (Ubuntu et Debian) dans un conteneur, exécuté à l'aide de Linuxulator, est autorisé. Parmi les fonctionnalités avancées, on trouve la possibilité d'exécuter des commandes standard simultanément dans plusieurs conteneurs, des modèles imbriqués, des snapshots et des sauvegardes. La partition racine dans le conteneur est montée en mode lecture seule. L'environnement pour le lancement de conteneurs peut être créé à la fois sur des machines physiques serveurs ou des cartes Raspberry Pi, ainsi que dans des services cloud tels qu'AWS EC2, Vultr et DigitalOcean.
Le dépôt propose près de 80 modèles pour un démarrage rapide des conteneurs d'applications standard, comprenant des programmes pour serveurs (nginx, mysql, wordpress, asterisk, redis, postfix, elasticsearch, salt, etc.), des développeurs (gitea, gitlab, jenkins, python, php, perl, ruby, rust, go, node.js, openjdk) et des utilisateurs (firefox, chromium). La création de stacks de conteneurs est prise en charge, permettant d'utiliser un modèle dans un autre.
Dans cette nouvelle version :
- Une option « -c » (« —config ») et une variable d'environnement BASTILLE_CONFIG pour spécifier un fichier de configuration personnalisé ont été ajoutées. Lors de l'utilisation de cette option, les données seront stockées séparément, liées au fichier de configuration spécifié.
- Un mode auto-mode (« -a », « —auto ») a été ajouté pour démarrer et arrêter les environnements jail si nécessaire.
- Un mode debug-mode (« -x », « —debug ») a été ajouté pour le débogage de l'infrastructure.
- Il est désormais possible d'ajouter un délai avant le démarrage d'un autre environnement Jail (par exemple, lorsque dans un jail, une base de données est lancée et utilisée dans d'autres jail).
- Il est désormais possible de spécifier plusieurs environnements cibles dans la commande « console ».
- La commande « create » prend désormais en charge la spécification des paramètres ZFS et la configuration VLAN (pour les Jails avec la pile réseau virtuelle VNET).
- La commande « destroy » permet désormais de supprimer le cache et de spécifier une liste de Jails pour exécuter l'opération simultanément pour plusieurs Jails.
- La commande « limits » a été enrichie des opérations « clear », « reset », « stats », « show », « add » et « remove ».
- La commande « list » a été modifiée pour permettre la sortie au format JSON.
- La commande « network » prend désormais en charge l'ajout et la suppression simultanés de plusieurs interfaces réseau dans une Jail.
- L'option « rcorder » est déclarée obsolète, de nouvelles options « boot=on/off » et « priority=N » ont été mises en place pour gérer le démarrage.
Source : opennet.ru
