netgescon-day0/docs/support/SETUP-WORKSPACE-MACCHINE-LAN.md

5.9 KiB
Executable File

Setup workspace macchine LAN

Scopo

Questo runbook serve ad attivare rapidamente le altre macchine Linux della rete anche prima di avere Gitea ovunque.

L obiettivo minimo e semplice:

  • tutti leggono gli stessi docs/
  • tutti trovano gli stessi scripts/ai/
  • ogni macchina ha uno spazio di lavoro locale coerente
  • il lavoro distribuito parte subito senza copie manuali sparse

Scelta pratica consigliata

Per la prima fase usare NFS.

Motivo:

  • e gia dentro gli strumenti Linux base
  • non richiede dominio
  • funziona bene se hai uniformato utente e UID/GID tra le macchine
  • e sufficiente per condividere manuali, indici e piccoli script

Layout consigliato

Macchina capofila

  • nodo capofila: 192.168.0.200
  • repository Day0 locale: /home/michele/netgescon/netgescon-day0
  • cartella LAN condivisa: /srv/netgescon/shared-docs

Contenuto condiviso minimo:

  • /srv/netgescon/shared-docs/docs
  • /srv/netgescon/shared-docs/scripts/ai
  • /srv/netgescon/shared-docs/exchange
  • /srv/netgescon/shared-docs/modules

Macchine client

  • mount condiviso: /srv/netgescon/shared-docs
  • workspace locale: /home/$USER/netgescon-lan-workspace

Contenuto workspace locale minimo:

  • docs -> /srv/netgescon/shared-docs/docs
  • scripts/ai -> /srv/netgescon/shared-docs/scripts/ai
  • exchange -> /srv/netgescon/shared-docs/exchange
  • modules/shared -> /srv/netgescon/shared-docs/modules
  • notes/ opzionale per appunti temporanei locali

Procedura rapida

1. Preparare il server share

Eseguire:

bash bootstrap_docs_lan_share.sh server /home/michele/netgescon/netgescon-day0 192.168.0.0/24 /srv/netgescon/shared-docs "docs,scripts/ai,app,config,routes,resources,tests"

Lo script prepara:

  • la cartella /srv/netgescon/shared-docs
  • la copia aggiornata di docs/
  • la copia aggiornata di scripts/ai/
  • la cartella /srv/netgescon/shared-docs/exchange per messaggi, handoff e materiale
  • la cartella /srv/netgescon/shared-docs/modules per superfici di lavoro condivise
  • la riga NFS da inserire in /etc/exports
  • i comandi exportfs da lanciare con sudo

2. Abilitare davvero l export NFS sul server

Eseguire sulla macchina capofila:

sudo mkdir -p /srv/netgescon/shared-docs
echo '/srv/netgescon/shared-docs 192.168.0.0/24(ro,sync,no_subtree_check)' | sudo tee /etc/exports.d/netgescon-docs.exports
sudo exportfs -rav
sudo systemctl enable --now nfs-server

Se serve scrittura dai client sostituire ro con rw, ma la scelta iniziale consigliata e ro.

Se vuoi usare la share anche per lo scambio operativo tra agent, la variante consigliata e separare documentazione e scambio:

echo '/srv/netgescon/shared-docs 192.168.0.0/24(ro,sync,no_subtree_check)' | sudo tee /etc/exports.d/netgescon-docs.exports
echo '/srv/netgescon/shared-docs/exchange 192.168.0.0/24(rw,sync,no_subtree_check)' | sudo tee /etc/exports.d/netgescon-exchange.exports
sudo exportfs -rav

3. Preparare una macchina client

Eseguire:

bash bootstrap_docs_lan_share.sh client 192.168.0.200:/srv/netgescon/shared-docs /srv/netgescon/shared-docs /home/$USER/netgescon-lan-workspace

Lo script:

  • crea il mount point
  • stampa il comando mount
  • crea il workspace locale minimo
  • crea i symlink a docs/ e scripts/ai/

Poi completare con:

sudo mount -t nfs 192.168.0.200:/srv/netgescon/shared-docs /srv/netgescon/shared-docs

Per rendere il mount persistente aggiungere una riga in /etc/fstab.

Esempio:

192.168.0.200:/srv/netgescon/shared-docs /srv/netgescon/shared-docs nfs defaults,_netdev 0 0

Se monti anche la cartella di scambio in scrittura:

sudo mkdir -p /srv/netgescon/shared-exchange
sudo mount -t nfs 192.168.0.200:/srv/netgescon/shared-docs/exchange /srv/netgescon/shared-exchange
ln -sfn /srv/netgescon/shared-exchange /home/$USER/netgescon-lan-workspace/exchange-rw

Struttura consigliata per la cartella exchange

Dentro /srv/netgescon/shared-docs/exchange conviene usare da subito:

  • handoff/
  • incoming/
  • outgoing/
  • messages/
  • artifacts/

Comandi iniziali sul server:

sudo mkdir -p /srv/netgescon/shared-docs/exchange/{handoff,incoming,outgoing,messages,artifacts}
sudo chown -R michele:michele /srv/netgescon/shared-docs

Struttura consigliata per i moduli condivisi

Dentro /srv/netgescon/shared-docs/modules puoi iniziare a depositare:

  • app/
  • config/
  • routes/
  • resources/
  • tests/

Questa cartella serve a distribuire rapidamente superfici di lavoro coerenti finche la rete non e ancora tutta su Gitea.

Procedura operativa capofila

Il nodo 192.168.0.200 fa tre cose:

  1. aggiorna il repository Day0 autorevole
  2. rigenera la share LAN con bootstrap_docs_lan_share.sh server ...
  3. assegna ai client quali cartelle o moduli leggere prima di lavorare

4. Apertura workspace sulle altre macchine

Aprire in VS Code il path locale:

/home/$USER/netgescon-lan-workspace

Dentro il workspace l agente deve trovare subito:

  1. docs/README.md
  2. docs/00-INDICE-LAVORO-DISTRIBUITO.md
  3. docs/support/CONTINUITA-SVILUPPO-AGENT.md
  4. docs/support/RETE-DOCS-E-AGENT-OPERATIVITA.md

Regole operative iniziali

  1. una sola macchina aggiorna i docs sorgente della LAN
  2. le altre macchine leggono dalla share e lavorano con gli stessi runbook
  3. le note locali valgono solo come appunti temporanei
  4. quando Gitea sara disponibile ovunque, la share LAN restera supporto o fallback, non sorgente finale

Checklist minima per ogni nuova macchina

  1. stesso utente Linux o UID/GID compatibili
  2. mount NFS attivo
  3. workspace locale creato
  4. docs leggibili dal workspace
  5. indice distribuito letto prima di iniziare il lavoro

Criterio di successo

La fase LAN puo dirsi pronta quando:

  1. almeno due macchine leggono la stessa cartella docs/ condivisa
  2. entrambe aprono lo stesso indice distribuito
  3. i runbook vengono aggiornati solo sulla macchina capofila
  4. il passaggio a Gitea non richiedera di ripensare la struttura workspace