206 lines
5.9 KiB
Markdown
Executable File
206 lines
5.9 KiB
Markdown
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
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```fstab
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
/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
|