← Progetti

Edge provision

Infrastruttura ·

Script bash idempotente per preparare server Linux periferici: si rilancia quante volte si vuole e riporta solo quello che ha cambiato.

  • Bash
  • Docker

Il problema

Scrivere uno script che configura un server è facile; scriverne uno che si possa rilanciare senza rompere niente, il giorno uno come il giorno cento, no.

Cosa fa

Ogni operazione (utenti, cartelle, pacchetti, file di configurazione, hardening di kernel e SSH) passa da una funzione ensure_* che prima controlla e poi agisce solo se serve. A fine esecuzione un riepilogo onesto dice cosa è cambiato: al secondo giro, zero modifiche, e un test in container lo verifica.

C’è la modalità di prova, che mostra le modifiche senza applicarle, e la configurazione per singolo host sta in un file a parte: aggiungere un nodo non richiede di toccare il codice. Nasce dagli script con cui preparo i dispositivi installati sul campo.