Table of Contents

Struttura server

Partendo da un fissato root path, al esempio /livenet, vediamo la struttura del server. E' una descrizione minimale, che verrà approfondita nel seguito.

drwxr-xr-x  9 root root 4096 Nov 18 14:51 .
drwxr-xr-x 23 root root 4096 Oct 24 08:24 ..
drwxr-xr-x  7 root root 4096 Oct  9 09:00 aux
drwxr-xr-x  8 root root 4096 Nov 13 12:38 .git
drwxr-xr-x 10 root root 4096 Oct 31 13:25 images
drwxr-xr-x  4 root root 4096 Nov 13 11:57 overlay
drwxr-xr-x 11 root root 4096 Oct 31 08:16 releases
drwxr-xr-x  2 root root 4096 Nov 13 12:06 scripts
drwxrwxr-x 29 root root 4096 Oct  2 15:20 vms
-rw-r--r--  1 root root  408 Sep 23 09:12 .env
-rw-r--r--  1 root root  405 Aug 27 08:48 env.sample
-rw-r--r--  1 root root  449 Sep 24 15:07 .gitignore
-rw-r--r--  1 root root    0 Sep 23 09:12 .init_ok
-rw-r--r--  1 root root 2156 Aug 27 08:48 README.md
-rw-r--r--  1 root root 5167 Sep 18 16:59 Taskfile.yml

aux

Contiene tutto ciò che non è essenziale al funzionamento di livenet, principalmente utilità di sistema.

images

Ogni subdirectory, della quale riporto solo gli elementi di interesse, ha di base la seguente struttura:

drwxr-xr-x 1 kreen kreen  74 27 set 08.03 conf
drwxr-xr-x 1 kreen kreen  60 11 set 13.19 overlay.all
drwxr-xr-x 1 kreen kreen  12 12 set 17.47 overlay.local
drwxr-xr-x 1 kreen kreen  24  7 ott 16.09 runtime
drwxr-xr-x 1 kreen kreen  68 27 set 08.03 scripts
drwxr-xr-x 1 root  root    0  5 ott 12.08 setup
-rw-r--r-- 1 kreen kreen 489 24 ott 09.49 docker-compose.yml
-rw-r--r-- 1 kreen kreen 767 27 set 08.03 Dockerfile
-rw-r--r-- 1 kreen kreen 394  8 ott 09.21 .env

Oerlay

Questa directory contiene tutto ciò che va inserito nell'immagine durante la costruzione e i commit. Viene fatta una copia 1:1 nella root dell'immagine docker. Evidenzio cheil contenuto è comune a tutte le immagini, viene fatto un bind in /etc/fstab con ./images/$NOMEIMMAGINE/overlay.all per aggirare i limiti di docker, che non consente di accedere alle directory superiori.

releases

Ogni sotto directory contiene gli archivi tgz delle immagini da installare e degli upgrade. Viene fatto un bind di volume nel docker-compose.yaml dell'immagine live ed esportato in sola lettura dal server NFS della stessa.

scripts

Contiene gli script:

* build.sh che costruisce una full image di un dipartimento * commit.sh crea una diff ovvero un archivio incrementale e relativa immagine docker, partendo da un container in esecuzione e agendo sulle sole differenze rispetto all'immagine da cui è stato creato il container.

.env

* Unordered List ItemVariabili ambiente generali