diff --git a/CLAUDE.md b/CLAUDE.md index 822e57f..730e5d2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,21 +22,63 @@ Target: PMI, Enterprise, Consulenti/CISO. - URL Produzione: https://certisource.it/nis2/ -## Microservizi Condivisi (agile-services) +## Visibilita Cross-Project -**IMPORTANTE**: Questo progetto utilizza i microservizi condivisi di **agile-services**, montati in `/projects/agile-services` (sola lettura). +### agile-services (Read/Write BIDIREZIONALE) -### Regole di integrazione +**IMPORTANTE**: Questo progetto utilizza i microservizi condivisi di **agile-services** con accesso **Read/Write bidirezionale**. + +#### Regole di integrazione 1. **Leggere SEMPRE** `agile-services-istructio.md` nella root del progetto per capire come interagire con i servizi -2. **NON modificare** i file in `/projects/agile-services` (montato read-only) -3. I servizi disponibili includono: autenticazione, database, messaging, monitoring, API gateway +2. **Puoi leggere E modificare** i file in agile-services (path locale: `c:\Projects\agile-services`, path container: `/projects/agile-services`) +3. I servizi disponibili includono: vault, document, payment, certificate, subscription, billing, practice, company, supplier, investigation, whatsapp 4. Le credenziali di accesso ai servizi sono documentate in `agile-services-istructio.md` 5. Ogni nuovo servizio creato per NIS2 deve essere registrato anche in agile-services per essere riutilizzabile +6. **agile-services puo' leggere e modificare file di NIS2** — la visibilita e' bidirezionale -### Accesso -- Path nel container: `/projects/agile-services` (read-only) +#### Accesso +- Path locale: `c:\Projects\agile-services` +- Path container: `/projects/agile-services` (read-write) - File istruzioni: `./agile-services-istructio.md` (nella root del progetto) +### trpg.agile (Read-Only) + +NIS2 puo' **leggere** il codice di TRPG Agile per riferimento e pattern, ma **NON deve modificare** nessun file. + +- Path locale: `c:\Projects\trpg.agile` +- **Permessi**: SOLO LETTURA +- **Scopo**: Consultare pattern UI/UX, architettura frontend, convenzioni codice +- **DIVIETO**: NON modificare, NON creare, NON cancellare file in trpg.agile + +### lg231.agile (Read-Only) + +NIS2 puo' **leggere** il codice di 231 Agile per riferimento e pattern, ma **NON deve modificare** nessun file. + +- Path locale: `c:\Projects\lg231.agile` +- **Permessi**: SOLO LETTURA +- **Scopo**: Consultare architettura microservizi PHP/Slim 4, pattern multi-tenancy, struttura database +- **DIVIETO**: NON modificare, NON creare, NON cancellare file in lg231.agile + +### sustainai.agile (Read-Only) + +NIS2 puo' **leggere** il codice di SustainAI Agile per riferimento e pattern, ma **NON deve modificare** nessun file. + +- Path locale: `c:\Projects\sustainai.agile` +- **Permessi**: SOLO LETTURA +- **Scopo**: Consultare pattern UI/UX (identico a NIS2), struttura frontend, convenzioni CSS/JS +- **DIVIETO**: NON modificare, NON creare, NON cancellare file in sustainai.agile + +### Riepilogo Visibilita + +| Progetto | Permesso | Direzione | +|----------|----------|-----------| +| **agile-services** | Read/Write | Bidirezionale (NIS2 <-> agile-services) | +| **trpg.agile** | Read-Only | NIS2 -> trpg (solo lettura) | +| **lg231.agile** | Read-Only | NIS2 -> lg231 (solo lettura) | +| **sustainai.agile** | Read-Only | NIS2 -> sustainai (solo lettura) | + +> **REGOLA**: Non accedere MAI a progetti non elencati in questa tabella. Nel dubbio, chiedere all'utente. + ## Regola Fondamentale Il progetto NIS2 Agile e' COMPLETAMENTE ISOLATO dagli altri applicativi (CertiSource, AGILE_DFM). Database dedicato, utente dedicato, path dedicati. Non condividere MAI credenziali tra applicativi. @@ -173,11 +215,11 @@ Schema: `docs/sql/001_initial_schema.sql` + `docs/sql/002_email_log.sql` - **Path server**: `/var/www/nis2-agile/` - **Apache config**: `/etc/apache2/conf-available/nis2-agile.conf` (Alias /nis2) - **Deploy**: `cd /var/www/nis2-agile && git pull origin main` -- **DB**: MySQL nis2_agile_db, user: nis2_user, pass: Nis2Dev2026! +- **DB**: Vedi `docs/DB_ACCESS.md` per credenziali (password in `.env`) ## Git - **Repository**: https://git.certisource.it/AdminGit2026/nis2-agile -- **Token Gitea**: bcaec92cad4071c8b2f938d6201a6a392c09f626 +- **Token Gitea**: Configurato in git credential manager (non documentare qui) - **Branch**: main (7 commit) - **Commit format**: `[AREA] Descrizione` diff --git a/docs/DB_ACCESS.md b/docs/DB_ACCESS.md new file mode 100644 index 0000000..7b8144c --- /dev/null +++ b/docs/DB_ACCESS.md @@ -0,0 +1,80 @@ +# NIS2 Agile - Accesso Database Hetzner + +## Architettura Database + +Il progetto usa **1 database dedicato**: + +| # | Database | Tabelle | Stato | +|---|----------|---------|-------| +| 1 | `nis2_agile_db` | 21 tabelle (organizations, users, assessments, risks, incidents, policies, suppliers, training, assets, compliance_controls, evidence, audit_logs, ai_interactions, email_log, ...) | Attivo | + +## Credenziali MySQL + +| Risorsa | Valore | +|---------|--------| +| **Host** | `localhost` (dal server) / `135.181.149.254` (via SSH tunnel) | +| **Porta** | `3306` | +| **Utente** | `nis2_user` | +| **Password** | Vedi file `.env` (variabile `DB_PASS`) | +| **Charset** | `utf8mb4` | +| **Collation** | `utf8mb4_unicode_ci` | +| **Auth plugin** | `mysql_native_password` | + +> **NOTA**: La password non e' documentata qui per sicurezza. +> Si trova nel file `.env` locale (non committato) e nel `.env` sul server. + +## Connessione via SSH Tunnel + +```bash +# Tunnel SSH (da terminale locale) +ssh -i docs/credentials/hetzner_key -L 3306:localhost:3306 root@135.181.149.254 + +# Poi connettiti a localhost:3306 con le credenziali sopra +``` + +## Connessione diretta (dal server) + +```bash +# SSH al server +ssh -i docs/credentials/hetzner_key root@135.181.149.254 + +# Accesso MySQL +mysql -u nis2_user -p nis2_agile_db +``` + +## Schema SQL + +Le migrazioni sono in: +- `docs/sql/001_initial_schema.sql` - Schema iniziale (20 tabelle) +- `docs/sql/002_email_log.sql` - Tabella email_log + +## Deploy Path + +| Risorsa | Valore | +|---------|--------| +| **Path Server** | `/var/www/nis2-agile/` | +| **URL Produzione** | `https://certisource.it/nis2/` | +| **Apache config** | `/etc/apache2/conf-available/nis2-agile.conf` | + +## REGOLE CRITICHE + +> **ATTENZIONE**: L'utente `nis2_user` ha accesso SOLO a `nis2_agile_db`. +> +> - **NON** tentare di accedere ad altri database sul server +> - **NON** modificare utenti, permessi o configurazioni MySQL +> - **NON** usare l'utente `root` per operazioni sul database +> - Il server ospita ALTRI applicativi con database separati: non toccarli MAI + +## Altri database presenti (NON TOCCARE) + +- `certisource_db` - CertiSource Pro +- `lg231_*` - 231 Agile (7 database) +- `allrisk_db` - AllRisk Agile +- `DFMDB` / `DFMDB_DEV` / `AGILE_DFM` - Agile DFM +- `ERP_DB` - ERP legacy +- `gitea_db` - Gitea +- `madeby_cloud_dev` - MadeBy Cloud + +--- + +*Aggiornato: 2026-02-18*