docs: README + DEPLOYMENT con stato CI/CD funzionante
ci / ruff lint (push) Successful in 14s
ci / mypy mcp_common (push) Successful in 23s
ci / pytest (push) Successful in 30s
ci / validate compose + Caddyfile (push) Successful in 2m2s
ci / build & push to registry (push) Successful in 1m32s

README aggiunge sezione 'CI/CD pipeline' che descrive i 5 job e i tag
image. DEPLOYMENT espande sez. 1 con dettagli runner Gitea (network
gitea_gitea-internal, image runner-images, label ubuntu-latest) e
configurazione secret user-level REGISTRY_TOKEN con scope write:package.
This commit is contained in:
AdrianoDev
2026-04-29 09:18:30 +02:00
parent 2fb7043790
commit 019b7e3298
2 changed files with 60 additions and 17 deletions
+24 -6
View File
@@ -53,7 +53,29 @@ OI history. **Nuovi**: `get_funding_arb_spread` (opportunità arb compatte),
`get_liquidation_heatmap` (heuristic da OI delta + funding extreme),
`get_cointegration_pairs` (Engle-Granger su coppie crypto).
## Avvio locale
## CI/CD pipeline
Pipeline Gitea Actions in `.gitea/workflows/ci.yml` esegue ad ogni push
su `main`:
1. **lint**`ruff check services/`
2. **typecheck**`mypy mcp_common` (gating) + servizi (warn-only)
3. **test**`pytest services/` (478 test)
4. **validate-config** — sintassi compose + Caddyfile
5. **build-and-push** — solo su `main`: builda e pusha 8 image al
container registry Gitea (`git.tielogic.xyz/adriano/cerbero-mcp/*`)
con tag `:latest` + `:sha-XXXXXXX` per rollback puntuali.
Le PR fanno girare solo i 4 job di gating (lint/test/validate). Il job
`build-and-push` è skippato.
Sul VPS produzione, **Watchtower** polla il registry ogni 5 min e
auto-aggiorna i container quando il digest del tag `:latest` cambia.
Vedi [`DEPLOYMENT.md`](DEPLOYMENT.md) per setup runner, secret
`REGISTRY_TOKEN`, deploy VPS, smoke test, rollback.
## Avvio locale (dev)
```bash
docker compose up -d
@@ -67,11 +89,7 @@ Vedi `secrets/*.json` e variabili `*_TESTNET` / `ALPACA_PAPER` in
### Deploy su VPS pubblica (`cerbero-mcp.tielogic.xyz`)
Vedi [`DEPLOYMENT.md`](DEPLOYMENT.md) per la guida completa: pipeline CI/CD
(Gitea Actions → registry → Watchtower auto-update), setup VPS step-by-step,
rollback, smoke test post-deploy.
Vedi [`DEPLOYMENT.md`](DEPLOYMENT.md) per il runbook completo end-to-end.
Il gateway Caddy è configurato per:
- TLS automatico via Let's Encrypt (richiede DNS A/AAAA che punti al