158 lines
4.8 KiB
Markdown
158 lines
4.8 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
nginx -T | rg -n "updates.netgescon.it|root |server_name"
|
|
```
|
|
|
|
### 5. Artefatti distribution free sul server `.53`
|
|
|
|
Verificare che sulla macchina `.53` esistano davvero:
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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`
|