netgescon-day0/docs/checklists/DAY0-GITEA-UPDATES-CHECKLIST.md

4.8 KiB

Day0 Gitea + Updates Checklist

Data: 17-03-2026

Stato chiarito

  • La sola versione realmente prevista oggi e attiva e free.
  • La versione licensed e solo prevista sulla carta.
  • Quindi un canale licensed vuoto, non pubblicato o non configurato non e un errore bloccante in questa fase.
  • Il focus corretto e allineare netgescon-day0, Gitea e updates.netgescon.it sul solo canale free.

Cosa risulta gia verificato

  • Repository Git attivo: ssh://git@192.168.0.53:2222/michele/netgescon-day0.git
  • Branch visibile da Day0: solo main
  • Route Day0 locale presenti:
    • GET api/v1/distribution/updates/manifest
    • GET api/v1/distribution/updates/package
  • Artefatti locali Day0 presenti:
    • storage/app/distribution/free/manifest.json
    • storage/app/distribution/free/netgescon-0.8.1.zip
  • updates.netgescon.it ora risolve verso 192.168.0.53
  • https://updates.netgescon.it/api/v1/distribution/health risponde correttamente
  • https://updates.netgescon.it/api/v1/distribution/updates/manifest?channel=free attualmente restituisce 404

Cosa chiedere all'altro agent

Chiedere di verificare sulla macchina 192.168.0.53 solo questi punti.

1. Repository e working copy corretti

Verificare:

  • qual e la cartella reale dell'app che serve updates.netgescon.it
  • se quella cartella deriva da netgescon-day0
  • se il commit checked out sulla macchina .53 coincide con origin/main di netgescon-day0

Comandi utili:

pwd
git remote -v
git branch --show-current
git rev-parse HEAD
git log --oneline -n 5

2. Route Laravel sul server update

Verificare se sull'app che gira sulla .53 esistono davvero le route distribution update:

php artisan route:list | rg "distribution|updates"

Ci aspettiamo almeno:

  • api/v1/distribution/health
  • api/v1/distribution/updates/manifest
  • api/v1/distribution/updates/package

3. Cache Laravel e route cache

Se le route nel codice esistono ma il server risponde 404, chiedere di verificare e pulire cache:

php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan cache:clear
php artisan route:list | rg "distribution|updates"

4. Document root e virtual host di updates.netgescon.it

Verificare che nginx/apache per updates.netgescon.it punti al public/ dell'app Day0 corretta, non a un'altra installazione Laravel.

Chiedere:

  • file di configurazione del virtual host usato da updates.netgescon.it
  • document root impostata
  • eventuale symlink verso cartella sbagliata

Controlli utili:

nginx -T | rg -n "updates.netgescon.it|root |server_name"

5. Artefatti distribution free sul server .53

Verificare che sulla macchina .53 esistano davvero:

ls -lah storage/app/distribution/free/
cat storage/app/distribution/free/manifest.json
sha256sum storage/app/distribution/free/*.zip

Se mancano, il server update non puo servire il canale free.

6. Configurazione distribution

Verificare questi valori reali dentro l'app della .53:

php artisan tinker --execute='echo "APP_URL=".config("app.url").PHP_EOL; echo "DIST_ROOT=".config("distribution.storage_root").PHP_EOL; echo "LICENSED_PAIRS=".(config("distribution.licensed_pairs") ?: "").PHP_EOL;'

Ci serve sapere:

  • app.url
  • distribution.storage_root
  • se distribution.storage_root punta davvero alla cartella giusta

7. Test HTTP locale dal server .53

Chiedere di testare dalla macchina stessa:

curl -i http://127.0.0.1/api/v1/distribution/health
curl -i "http://127.0.0.1/api/v1/distribution/updates/manifest?channel=free"

Se da localhost funziona ma dal dominio no, il problema e nginx/vhost. Se da localhost non funziona, il problema e app/codice/cache/storage.

8. Allineamento staging con sviluppo Day0

Per capire se staging e allineato alla nostra versione di sviluppo, chiedere:

  • commit SHA della macchina .53
  • commit SHA locale di netgescon-day0
  • se il pacchetto free e stato rigenerato dopo gli ultimi cambi Day0

Risposta minima che ci serve dall'altro agent

Chiedere di rispondere in questo formato:

  1. Path reale dell'app che serve updates.netgescon.it
  2. Commit SHA attuale sulla .53
  3. Output di php artisan route:list | rg "distribution|updates"
  4. Presenza o assenza di storage/app/distribution/free/manifest.json
  5. Output di cat storage/app/distribution/free/manifest.json
  6. Conferma del virtual host e document root di updates.netgescon.it
  7. Esito di curl locale a updates/manifest?channel=free
  8. Eventuale motivo del 404

Nota importante

Per ora non serve trattare licensed come errore.

Il requisito corretto di questa fase e:

  • free deve funzionare
  • Gitea Day0 deve essere la sola sorgente Git attiva
  • updates.netgescon.it deve servire il manifest e il package del canale free