È stato pubblicato il rilascio di Bastille 0.14.20250420, un sistema per l'automazione del dispiegamento e della gestione di applicazioni eseguite in contenitori isolati mediante il meccanismo FreeBSD Jail. Il codice è scritto in Shell, non richiede dipendenze esterne per il funzionamento e viene distribuito con licenza BSD.
Per la gestione dei contenitori è disponibile l'utilità da riga di comando bastille, che consente di creare e aggiornare ambienti Jail basati sulla versione scelta di FreeBSD, nonché di eseguire operazioni standard con i contenitori, come avvio/arresto, creazione, clonazione, importazione/esportazione, conversione, modifica delle impostazioni, gestione dell'accesso di rete e impostazione dei limiti di consumo delle risorse.
È consentito il dispiegamento di ambienti c Linux (Ubuntu e Debian) all'interno di un contenitore, eseguiti utilizzando Linuxulator. Tra le funzionalità avanzate è supportato l'avvio di comandi standard in più contenitori contemporaneamente, template nidificati, snapshot e backup. La partizione radice nel contenitore è montata in modalità di sola lettura. L'ambiente per l'esecuzione dei contenitori può essere creato sia su hardware fisico server che su schede Raspberry Pi, oltre che in servizi cloud come AWS EC2, Vultr e DigitalOcean.
Nel repository sono disponibili circa 80 template per un rapido avvio di contenitori per applicazioni standard, che includono programmi per server (nginx, mysql, wordpress, asterisk, redis, postfix, elasticsearch, salt, ecc.), sviluppatori (gitea, gitlab, jenkins, python, php, perl, ruby, rust, go, node.js, openjdk) e utenti (firefox, chromium). È supportata la creazione di stack di contenitori, che consente di utilizzare un template all'interno di un altro.
Nel nuovo rilascio:
- È stata aggiunta l'opzione «-c» («—config») e la variabile ambiente BASTILLE_CONFIG per specificare un file di configurazione personalizzato. Quando si utilizza l'opzione, i dati verranno archiviati separatamente, legati al file di configurazione specificato.
- È stata aggiunta la modalità auto-mode («-a», «—auto») per avviare e fermare gli ambienti jail secondo necessità.
- È stata aggiunta la modalità debug-mode («-x», «—debug») per il debug dell'infrastruttura.
- È stata implementata la possibilità di aggiungere un ritardo prima di avviare un altro ambiente Jail (ad esempio, quando in un jail viene avviato un DBMS utilizzato negli altri jail).
- È stata aggiunta la possibilità di specificare più ambienti target nel comando «console».
- Nella squadra «create» è stata aggiunta la supporto per specificare i parametri ZFS e configurare VLAN (per Jail con stack di rete virtuale VNET).
- Nella squadra «destroy» è stata aggiunta la possibilità di eliminare la cache e di specificare un elenco di jail per eseguire l'operazione simultaneamente per più jail.
- Nella squadra «limits» sono state aggiunte le operazioni «clear», «reset», «stats», «show», «add» e «remove».
- Nella squadra «list» è stata aggiunta la possibilità di output in formato JSON.
- Nella squadra «network» è stato aggiunto il supporto per aggiungere e rimuovere contemporaneamente più interfacce di rete in jail.
- L'opzione «rcorder» è stata dichiarata obsoleta; sono state implementate nuove opzioni «boot=on/off» e «priority=N» per gestire l'avvio.
Fonte: opennet.ru
