Files
ThothII/docs/install/psd-workspace-setup.md
T

108 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Policlinico San Donato — setup workspace (nuova gestione)
Guida operativa per collegare ThothII al DWH di PSD con il nuovo sistema (registry Git + descriptor
v3 + `thothctl`). Lo stato attuale:
- il repository PSD **è già stato ristrutturato** e committato localmente in
`/Users/mp/projects/tht-workspace-psd` (layout P1.1: `thoth-workspaces.yaml` +
`psd-clinical/workspace.yaml` + `psd-clinical/evidence/` + `psd-clinical/schema/annotations.yaml`);
- la **validazione locale** del registry è già passata (descriptor v3 valido, 36 Evidence
materializzate, 42 KB di annotations sincronizzate, docs generate).
Rimangono i passi che richiedono segreti/accesso. I template pronti sono in `deploy/psd/`
(`*.example`).
## 1. Pubblica il repository PSD su GitHub
Crea un repository Git **privato** su GitHub e pubblicalo:
```bash
git -C /Users/mp/projects/tht-workspace-psd remote add origin <URL-repo>
git -C /Users/mp/projects/tht-workspace-psd push -u origin main
```
Oppure fornisci URL + credenziali e lo pusho io.
## 2. Prepara i segreti (in `deploy/psd/secrets/`, non tracciati)
| File | Contenuto | Riuso |
| --- | --- | --- |
| `psd-clinical-dwh-api-key` | la `X-API-Key` del DWH REST | `THT_DWH_API_KEY` esistente |
| `psd-clinical-dwh-ca.pem` | CA interna (solo se il REST la presenta) | `THT_SSL_CA` esistente |
| `pi-auth.json` | profilo Pi con le credenziali LLM (zai/deepseek/qwen) | esistente |
| `thothii.secrets` | bundle secret dell'app | esistente |
| `git-credentials` | credenziali HTTPS del remote Git privato | nuova |
> **Nota CA**: il *preprocessing* DWH via REST supporta la CA (`TLS_CA_FILE`). Il *diagnostic* di
> readiness REST, invece, rifiuta una CA per-request privata: se il ping fallisce per la CA, va
> reso trusted a runtime oppure si adatta `diagnostics.dwh_rest` nel descriptor Git.
## 3. Compila i file operatore (dai template)
```bash
cd deploy/psd
cp workspace-bindings.env.example workspace-bindings.env
cp operator.env.example operator.env
cp thothii-installation.yaml.example thothii-installation.yaml
```
Compila i placeholder con i valori reali (remote GitHub, path assoluti). Il bindings file per PSD è:
```dotenv
THT_WS_PSD_CLINICAL_DWH_TRANSPORT=rest_api
THT_WS_PSD_CLINICAL_DWH_BASE_URL=https://supabase-aritmolab.policlinicosandonato.it/dwh/
THT_WS_PSD_CLINICAL_DWH_API_KEY_FILE=/run/secrets/psd-clinical-dwh-api-key
```
## 4. Genera il connector override
```bash
scripts/generate-connector-secrets-override.sh --bindings-env deploy/psd/workspace-bindings.env --operator-env deploy/psd/operator.env --output deploy/psd/connector-secrets.yaml --service workspace-maintenance --role all
```
## 5. Avvia lo stack (VPN attiva; internet per scaricare il modello)
```bash
scripts/compose-with-preflight.sh --env-file deploy/psd/operator.env -f compose.yaml -f deploy/compose.local.yaml -f deploy/compose.git-https.yaml -f deploy/psd/connector-secrets.yaml up --build -d
```
Il primo avvio esegue `embedding-model-init`, che scarica `qwen3-embedding:0.6b` nel volume
`embedding-models` e poi sblocca `core`.
## 6. Attiva e valida il workspace
```bash
curl --fail --silent http://127.0.0.1:8787/health
thothctl --installation deploy/psd/thothii-installation.yaml workspace inspect --workspace psd-clinical --json
```
## 7. Preprocessing (DWH → FK → schema → Evidence)
```bash
thothctl --installation deploy/psd/thothii-installation.yaml workspace preprocess run --workspace psd-clinical --json
```
Se il run si ferma per la revisione delle join (`manual_review_required`):
```bash
# il curatore rivede i candidati e pubblica psd-clinical/schema/annotations.yaml (commit+push),
# poi l'installazione fa pull, e si esegue:
thothctl --installation deploy/psd/thothii-installation.yaml workspace schema accept --workspace psd-clinical --run <run-id> --yes --json
thothctl --installation deploy/psd/thothii-installation.yaml workspace preprocess run --workspace psd-clinical --resume <run-id> --json
```
## 8. Testa una domanda reale
Apri l'app (`http://localhost:5173`), seleziona `psd-clinical` e crea una sessione con una domanda
in linguaggio naturale. Segui le 8 fasi e conferma ai gate fino all'SQL finale.
## Cosa serve ancora da te
1. **URL + credenziali del repo GitHub** del workspace PSD (passo 1).
2. **X-API-Key DWH** (+ CA, se serve) riusabili dall'ambiente attuale (passo 2).
3. Conferma del **provider/modello LLM** di default (`zai/glm-5.2` è già impostato nel descriptor).
4. Conferma dell'**endpoint ping** REST del DWH (`POST /rpc/ping` con `X-API-Key`) per il
`diagnostics.dwh_rest` del descriptor.
Con questi quattro elementi completiamo i passi 2–4 insieme e lanciamo lo smoke live.