201 lines
6.2 KiB
Markdown
Executable File
201 lines
6.2 KiB
Markdown
Executable File
# Operatore .200 -> KB .53 -> Produzione/Demo
|
|
|
|
Documento operativo unico per la macchina `.200` usata da sviluppo e test.
|
|
|
|
## Ruoli macchina
|
|
|
|
- `.200` resta postazione di sviluppo e test: Laravel locale su `:8000`, staging locale su `:80/:443`.
|
|
- `192.168.0.157` (`svr-netgescon`) ospita la produzione Docker multisito: `www.netgescon.it`, `app.netgescon.it`, `demo.netgescon.it`.
|
|
- `192.168.0.53` ospita KB centrale e Gitea.
|
|
|
|
Regola fissa: gli aggiornamenti dei nodi remoti devono partire dall'interfaccia web `Supporto > Aggiornamento Nodo`, non da shell manuale sul nodo applicativo.
|
|
|
|
## Stato macchina operatore verificato
|
|
|
|
Verificato su `.200` il `2026-05-18`:
|
|
|
|
- VS Code presente: `code 1.119.0`
|
|
- `sshfs` presente
|
|
- Git presente
|
|
- chiave SSH macchina presente: `~/.ssh/id_ed25519_netgescon_machine`
|
|
- accesso SSH a `.53` funzionante
|
|
- orchestrator locale installato in `~/netgescon-orchestrator/.venv`
|
|
|
|
## Bootstrap locale per KB e share LAN
|
|
|
|
Script operativo:
|
|
|
|
- `scripts/ops/netgescon-client-kb-bootstrap.sh`
|
|
|
|
Comando standard:
|
|
|
|
```bash
|
|
bash scripts/ops/netgescon-client-kb-bootstrap.sh --install-orchestrator
|
|
```
|
|
|
|
Cosa prepara:
|
|
|
|
- mount SSHFS da `.53` in `~/mnt/netgescon-ssh`
|
|
- link workspace in `~/netgescon-sshfs-workspace`
|
|
- orchestrator locale in `~/netgescon-orchestrator/.venv`
|
|
- check health del KB su `http://192.168.0.53:3838`
|
|
|
|
Mount attesi:
|
|
|
|
- `~/mnt/netgescon-ssh/documenti`
|
|
- `~/mnt/netgescon-ssh/progetti`
|
|
- `~/mnt/netgescon-ssh/scambio`
|
|
|
|
Link workspace attesi:
|
|
|
|
- `~/netgescon-sshfs-workspace/documenti`
|
|
- `~/netgescon-sshfs-workspace/progetti`
|
|
- `~/netgescon-sshfs-workspace/scambio-200`
|
|
|
|
## Configurazione KB locale
|
|
|
|
Per rendere persistente l'accesso KB autenticato creare il file locale non versionato:
|
|
|
|
```bash
|
|
mkdir -p ~/.config/netgescon
|
|
cat > ~/.config/netgescon/kb.env <<'EOF'
|
|
export NETGESCON_KB_API_KEY=INSERISCI_API_KEY
|
|
export NETGESCON_KB_URL=http://192.168.0.53:3838
|
|
EOF
|
|
```
|
|
|
|
Gli script seguenti leggono automaticamente quel file se esiste:
|
|
|
|
- `scripts/ops/netgescon-client-kb-bootstrap.sh`
|
|
- `scripts/ops/netgescon-orchestrator-kb-run.sh`
|
|
|
|
Stato verificato il `2026-05-23` sulla `.200`:
|
|
|
|
- KB `.53` raggiungibile su `http://192.168.0.53:3838/api/v1/health`
|
|
- binary locale `~/netgescon-orchestrator/.venv/bin/agent-orchestrator` presente
|
|
- blocco residuo lato orchestrator/KB: `~/.config/netgescon/kb.env` non ancora creato, quindi le query KB autenticate non partono finche non viene inserita API key locale
|
|
|
|
## Invio backlog a orchestrator con contesto KB
|
|
|
|
Script operativo:
|
|
|
|
- `scripts/ops/netgescon-orchestrator-kb-run.sh`
|
|
|
|
Esempio:
|
|
|
|
```bash
|
|
bash scripts/ops/netgescon-orchestrator-kb-run.sh \
|
|
--backlog docs/support/WORKFLOW-KB-ORCHESTRATOR-PRODUTTIVO.md \
|
|
--query "aggiornamenti distribuzione" \
|
|
--query "demo netgescon" \
|
|
--mode analyze
|
|
```
|
|
|
|
Uso previsto:
|
|
|
|
- `.200` prepara backlog e contesto tecnico
|
|
- il KB su `.53` fornisce conoscenza condivisa
|
|
- l'altro agent opera sul nodo produzione seguendo il launcher web del nodo
|
|
|
|
## Produzione: punto di aggiornamento consentito
|
|
|
|
Pagina da usare sul nodo applicativo:
|
|
|
|
- `https://app.netgescon.it/admin-filament/supporto/aggiornamento-nodo`
|
|
- staging locale equivalente: `http://192.168.0.200:8000/admin-filament/supporto/aggiornamento-nodo`
|
|
|
|
Il launcher applicativo governa:
|
|
|
|
- sync Git/Gitea
|
|
- maintenance mode
|
|
- backup pre-update quando abilitato
|
|
- migrate, clear cache, rebuild view
|
|
- riapertura automatica del servizio
|
|
|
|
## Demo pronta per messa in linea
|
|
|
|
Nel compose multisito la demo usa gia:
|
|
|
|
- dominio `demo.netgescon.it`
|
|
- `RUN_SEEDERS=demo`
|
|
- seeder aggregato `Database\\Seeders\\DemoEnvironmentSeeder`
|
|
|
|
Il seeder demo richiama:
|
|
|
|
- `DemoUsersSeeder`
|
|
- `DocumentiDemoSeeder`
|
|
- `DemoTicketsSeeder`
|
|
|
|
Credenziali demo seedate:
|
|
|
|
- `superadmin@demo.netgescon.it / demo12345`
|
|
- `amministratore@demo.netgescon.it / demo12345`
|
|
- `collaboratore@demo.netgescon.it / demo12345`
|
|
- `condomino@demo.netgescon.it / demo12345`
|
|
- `inquilino@demo.netgescon.it / demo12345`
|
|
- `fornitore@demo.netgescon.it / demo12345`
|
|
|
|
Stato operativo verificato su `192.168.0.157` il `2026-05-23`:
|
|
|
|
- `https://demo.netgescon.it/admin-filament/login` risponde `200`
|
|
- `https://app.netgescon.it/admin-filament/login` risponde `200`
|
|
- il deploy multisito genera `APP_KEY` in `docker/.env.multisite` se manca
|
|
- il bootstrap demo ora carica utenti, ticket, documenti demo ed etichette protocollo sul DB demo esistente
|
|
- un controllo HTTP fatto troppo presto dopo `up -d` puo mostrare `502` per pochi secondi durante il warm-up iniziale dei container app
|
|
|
|
Pagina update demo dopo login:
|
|
|
|
- `/admin-filament/supporto/aggiornamento-nodo`
|
|
|
|
## Google Analytics da tenere nel KB
|
|
|
|
Misurazioni gia censite nel progetto:
|
|
|
|
- `DEMO` -> `G-26FSLQY2RL`
|
|
- `WWW` -> `G-3HH17HY982`
|
|
- `APP` -> `G-6P649ETW4F`
|
|
- `STAGING` -> `G-KF9PX1PQVG`
|
|
|
|
Percorso corretto lato Google:
|
|
|
|
- Google Analytics 4: `https://analytics.google.com/`
|
|
- Google Search Console: `https://search.google.com/search-console/`
|
|
|
|
Modello consigliato:
|
|
|
|
- una proprieta GA4 NetGescon
|
|
- tre data stream separati almeno per `APP`, `DEMO`, `STAGING`
|
|
|
|
Nota applicativa: il progetto ha gia una mappa host -> measurement id in `config/services.php` e il componente view `resources/views/components/google-analytics.blade.php` sceglie automaticamente l'ID giusto in base all'host o al site mode.
|
|
|
|
## Sorgente base per import dati da censire nel KB
|
|
|
|
Documento sorgente da riusare come base conoscitiva import:
|
|
|
|
- `docs/07-DATABASE-NETGESCON.md`
|
|
|
|
Punti chiave da promuovere nel KB:
|
|
|
|
- archivi legacy in `/mnt/gescon-archives/gescon` solo lettura
|
|
- staging tecnico MySQL `gescon_import` per normalizzazione
|
|
- mapping `generale_stabile.mdb -> anni -> nome_dir`
|
|
- tabelle import principali: `condomini_totali`, `tabelle`, `dett_tab`
|
|
|
|
## Comandi minimi di verifica
|
|
|
|
```bash
|
|
code --version
|
|
ssh -i ~/.ssh/id_ed25519_netgescon_machine michele@192.168.0.53 'hostname && whoami'
|
|
curl -fsS http://192.168.0.53:3838/api/v1/health
|
|
bash scripts/ops/netgescon-client-kb-bootstrap.sh
|
|
```
|
|
|
|
Per la demo/produzione pubblica:
|
|
|
|
```bash
|
|
curl -I -H 'Host: app.netgescon.it' http://195.110.133.78/admin-filament/login
|
|
curl -kI --resolve app.netgescon.it:443:195.110.133.78 https://app.netgescon.it/admin-filament/login
|
|
curl -I -H 'Host: demo.netgescon.it' http://195.110.133.78/admin-filament/login
|
|
curl -kI --resolve demo.netgescon.it:443:195.110.133.78 https://demo.netgescon.it/admin-filament/login
|
|
```
|