projects:livenet:01_struttura_server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
projects:livenet:01_struttura_server [2024/12/11 11:09] – created igorprojects:livenet:01_struttura_server [2024/12/11 12:52] (current) – [Taskfile.yml] igor
Line 37: Line 37:
   * [[livenet:10_rsyslog_container|Container syslog]]   * [[livenet:10_rsyslog_container|Container syslog]]
   * Script ''post-merge'' per sistemare i permessi critici ad ogni ''git pull''   * 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:
 +
 +<code>
 +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
 +</code>
 +
 +  * ''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
 +
 +==== 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
 +
 +  * ''ROOT_PATH=/xyz'' la radice del progetto, usata come directory basename
 +  * ''IMG_PATH="${ROOT_PATH}/images"'' è la radice che contiene le definizioni dei dipartimenti
 +  * ''REL_PATH="${ROOT_PATH}/releases"'' punta alla radice delle releases
 +  * ''VMS_PATH="${ROOT_PATH}/vms"'' la radice del repository delle macchine virtuali
 +  * ''LIVENET_SERVER=192.168.1.10'' è l'ip dell'host dove è in esecuzione il server livenet
 +  * ''LIVENET_PORT=2049'' la porta utilizzata dal server NFS. Tipicamente la 2049, ma può essere modificata.
 +  * ''SYSLOG_SERVER=192.168.1.10'' autoesplicativo
 +  * ''SYSLOG_PORT=513'' 
 +  * ''_docker="docker"'' container runtime, che può essere anche ''podman''
 +  * ''_compose="docker compose"'' 
 +  * ''DEVELOP=0'' usato in sviluppo, se messo a ''1'' nell'immagine non viene copiato il software non necessario (ad esempio matlab). usato nel ''Dockerfile''
 +
  • projects/livenet/01_struttura_server.1733911781.txt.gz
  • Last modified: 2024/12/11 11:09
  • by igor