2.9 KiB
2.9 KiB
NetGescon - Macchina Git e Distribuzione (Blueprint 2026)
Obiettivo: una piattaforma unica per piu progetti con:
- repository Git self-hosted,
- distribuzione aggiornamenti,
- accesso selettivo con scadenza,
- moduli premium con pagamento.
Scelta consigliata
Stack consigliato:
- Forgejo (o Gitea) per Git, issue, release e accessi team.
- API Update/Licensing separata (Laravel) per manifest, package, code/auth e policy licenza.
- MinIO per storage pacchetti release e asset aggiornamenti.
- Reverse proxy (Caddy o Nginx) con TLS e domini separati.
- Keycloak opzionale se vuoi SSO enterprise multi-progetto.
Perche Forgejo/Gitea
- Leggero rispetto a GitLab e facile da mantenere.
- Multi-progetto nativo con org/team/permessi granulari.
- Runner CI disponibili per pipeline build package.
- Facile integrazione con API esterne per licenze e billing.
Architettura consigliata
git.netgescon.it: Forgejo UI/API/SSH.updates.netgescon.it: API update/licensing (manifest/package/license).storage.netgescon.it: MinIO S3 (privato, firmato).registry.netgescon.itopzionale: container registry.
Modello accessi aggiornamenti
Canali:
free: accesso manifest/package pubblico o con token base.licensed: accesso concode+authe controlli avanzati.
Controlli raccomandati:
- scadenza licenza (
expires_at), - limite nodi (
max_nodes), - modulo abilitato (
modules[]), - versione minima consentita (
min_supported), - revoca immediata (
revoked_at).
Modello commerciale moduli premium
Dati minimi backend licenze:
customerslicenseslicense_modulespaymentsentitlements_audit
Flusso:
- Cliente acquista piano base o modulo.
- Payment provider invia webhook.
- Sistema aggiorna entitlement e scadenza.
- Nodo client chiama endpoint license-check.
- Feature gate lato app abilita/disabilita moduli.
Provider pagamento consigliati:
- Stripe (piu rapido per subscription e webhook).
- Paddle se vuoi gestione VAT UE piu assistita.
Sicurezza minima obbligatoria
- 2FA obbligatoria per admin Forgejo.
- Backup giornaliero DB+repository+bucket MinIO.
- Firma manifest release (Ed25519) e verifica lato client.
- Logging audit su download package e apply update.
- Secrets solo da vault/env sicuri, mai nel repo.
Setup rapido locale
La base Docker e in:
scripts/ops/git-stack/docker-compose.ymlscripts/ops/git-stack/.env.example
Avvio:
cd scripts/ops/git-stack
cp .env.example .env
# modifica password, domini e secret
docker compose --env-file .env up -d
Roadmap operativa consigliata
- Porta online Forgejo + TLS + backup.
- Crea org/progetti NetGescon e branch policy.
- Attiva API update/licensing su
updates.netgescon.it. - Pubblica primo pacchetto baseline e manifest firmato.
- Aggiorna staging con
php artisan netgescon:update --apply. - Integra billing moduli premium (Stripe webhook).
- Estendi stessa piattaforma agli altri progetti.