4.0 KiB
Executable File
Runbook server update .53 - 2026-05-09
Scopo
Questo file serve come handoff operativo per l agent che lavora direttamente sulla macchina 192.168.0.53, che ospita il server interno updates.netgescon.it.
La .53 va trattata anche come primo nodo di coordinamento documentale di rete, perche ospita Gitea e quindi puo distribuire la stessa base docs/ agli altri host.
Stato trovato
Verifiche gia concluse:
- il client Day0/demo/prod raggiunge la
.53solo se usaNETGESCON_UPDATE_RESOLVE=updates.netgescon.it:443:192.168.0.53; GET /api/v1/distribution/healthsulla.53risponde200 OK;GET /api/v1/distribution/updates/manifest?channel=freesulla.53risponde404 Not Found;- il checkout
/var/www/netgesconsulla.53e sporco; - nel checkout
.53risultano solo le route distribution per health/import/sync/backup amministratori; - non risultano deployate le route pubbliche
updates/manifesteupdates/package; storage/app/distributionnon mostra manifest pubblicati.
Diagnosi
Il nodo client non e piu il blocco principale.
Il vero problema e il server update .53, che oggi appare su una versione incompleta o non riallineata del motore distribution.
File da confrontare con Day0
L agent .53 deve confrontare questi file con il workspace Day0:
/var/www/netgescon/routes/api.php/var/www/netgescon/app/Http/Controllers/Api/DistributionController.php/var/www/netgescon/config/distribution.php
Dati da pubblicare sul server update
Oltre al codice, il server update deve avere:
storage/app/distribution/free/manifest.json- il pacchetto zip referenziato dal manifest
Senza questi file, anche con le route corrette il client non puo ricevere il manifest.
Ordine di lavoro consigliato
- fare backup o snapshot del checkout sporco sulla
.53; - confrontare i tre file chiave con Day0;
- portare solo il blocco distribution mancante se non e possibile riallineare tutto il checkout;
- pubblicare il manifest
freee il pacchetto zip; - eseguire
php artisan optimize:clear; - validare localmente.
Istruzioni immediate per la .53
Prima di toccare l update server, la .53 deve diventare anche nodo allineato della documentazione distribuita.
Sequenza pratica consigliata:
- creare o aggiornare un mirror pulito del repository Day0 dedicato ai manuali;
- usare il mirror come sorgente locale per
docs/; - non modificare i manuali solo dentro
/var/www/netgesconse quel checkout resta sporco e operativo; - riportare ogni esito nel repository Day0 e poi propagare agli altri nodi.
Comando consigliato per bootstrap docs sulla .53:
cd /tmp
bash /home/michele/netgescon/netgescon-day0/scripts/ai/bootstrap_docs_mirror.sh /var/www/netgescon-docs
Se lo script non e ancora presente sulla .53, copiarlo dal workspace Day0 o eseguire gli stessi passi manualmente con clone sparse del repository Gitea.
Output minimo richiesto dall agent .53 dopo il bootstrap:
- path del mirror documentale usato;
- commit corrente del mirror;
- conferma che
docs/README.mdedocs/00-INDICE-LAVORO-DISTRIBUITO.mdsono leggibili sulla macchina; - conferma se il checkout
/var/www/netgesconresta separato oppure viene riallineato.
Comandi di validazione locale sulla .53
cd /var/www/netgescon
php artisan route:list | grep -E 'distribution|updates/manifest|updates/package|distribution/health'
find storage/app/distribution -maxdepth 3 \( -type d -o -type f \) | sort
curl -sS -D - --max-time 12 https://updates.netgescon.it/api/v1/distribution/health -o /tmp/health.out
curl -sS -D - --max-time 12 'https://updates.netgescon.it/api/v1/distribution/updates/manifest?channel=free' -o /tmp/manifest.out
head -n 40 /tmp/health.out
head -n 80 /tmp/manifest.out
Criterio di successo
Il runbook puo essere considerato chiuso solo quando:
updates/manifestrisponde200o404JSON applicativo coerente, non piu la pagina HTML LaravelNot Found;- il manifest
freeesiste sul filesystem; - il client demo/prod riesce a completare il
check connettivitasenza timeout DNS.