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 è direttamente collegato ad una immagine livenet. Ad esempio, il collettore dei dati, chè è una utility, ma la cui assenza non pregiudica il funzionamento del sistema.

images contiene le definizioni dei vari dipartimenti, quindi files, scripts, etc…

overlay è la directory che contiene la definizione minimale di livenet, ovvero tutto ciò che è comune ai vari dipartimenti e che altrimenti dovrebbe essere replicato in ciascuno

releases contiene le releases dei vari dipartimenti

scripts sono gli script di gestione del sistema che vengono richiamati dai task

vms mantiene tutte le macchine virtuali, essenzialmente windows, che possono essere avviate nei client.

.env è il file di configurazione generale dei vari dipartimenti

Taskfile.yml contiene tutte le descrizioni dei task possibili

aux

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

Container collettore dati

Container syslog

Script post-merge per sistemare i permessi critici ad ogni git pull

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

conf contiene file di configurazione, ad esempio la lista dei pacchetti specifici dell'immagine

overlay.all è la directory che contiene la configurazione comune a tutte le istanze

overlay.local è la directory con contiene la configurazione specifica per l'istanza, per esempio i profili, e ha la precedenza su overlay.all

runtime è usata in sviluppo, non ha impiego in produzione

scripts sono gli script di gestione per la costruzione dell'immagine

setup contiene file e pacchetti che vengono installati nell'immagine (per esempio *.deb)

docker-compose.yml dell'immagine

Dockerfile dell'immagine

.env variabili ambiente specifiche dell'immagine

Headline

overlay

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 direcotry superiori.