Files
ThothII/docs/reports/2026-09-26-server-release-execution.md
User 2f53512e4d
Publish documentation / publish (push) Successful in 32s
docs: record server release and hand off remaining acceptance checks
2026-09-27 00:41:37 +02:00

8.3 KiB
Raw Permalink Blame History

Rilascio coordinato ThothII / Omics — 26 settembre 2026

Distribuito; accettazione automatica superata. Collaudo browser positivo per accesso, interfaccia e avvio/interruzione/ripresa sessione; prove estese residue sotto. Finestra esplicitamente confermata dall’utente in chat («confermo»), avvio alle 19:28 Europe/Rome. Riferimento: piano approvato. Maintenance disattivata alle 19:35:27 dopo tutti i controlli automatici.

Versioni e stato finale

Componente Risultato
ThothII sorgente Main 497ab84031e285464fdbb73e6e0ce9252687e3ab, checkout pulito in /srv/thothii-v2/releases/497ab84031e285464fdbb73e6e0ce9252687e3ab
Core thothii-v2-core:497ab840-preflight, ID sha256:182f4e0d63404cb7ed6a0e272441e9c55ed27e2bb16fdbf4d7162f892ac76dc7, healthy
Frontend thothii-v2-frontend:497ab840-preflight, ID sha256:5f5a4f81139432d0ac41025c3006edaf1258b623ce388242700b1b20fcce6421, healthy
Omics checkout Fast-forward a 928f7e9fff2aba895416776fecf5668ee957d237; nessuna modifica tracciata, file locali preservati
Omics web Stesso container e immagine sha256:27aa100690b110bf596322b1b0a31acc178ca9d1c709bc10382cbeecbfb5aeca, riavviato e healthy; risposta HTTP Django verificata
Omics nginx Ricreato col fix asset e immagine precedente fissata sha256:b3c656d55d7ad751196f21b7fd2e8d4da9cb430e32f646adcf92441b72f82b14; nginx -t positivo
Supporti Catalogo PostgreSQL, Qdrant e Ollama healthy; immagini e volumi invariati
CLI host /usr/local/bin/tht aggiornato; SHA256 0d39a93fb0a3b2147541a746c75832db20302f3a604bf6510da69d3731bcd783
Maintenance / Pi Maintenance inattiva, zero processi Pi RPC al controllo finale delle 19:36

Descrittore mantenuto nel percorso originale: /srv/thothii-v2/source/ThothII/deploy/psd-server-v2/thothii-installation.yaml. Project Compose sempre thothii-7f901b48fe35; shell embedded/en/omics-portal, auth upstream e storage locale invariati. Cambiati solo projectDirectory e percorso dell’overlay git-ssh nel descrittore, tag immagini in env/overlay. Proiezioni rigenerate col nuovo CLI e UID 10001. Descriptor/env 10001:10001 0600; overlay 1013:1014 0640; CLI root:root 0755.

Il vecchio checkout ThothII dirty resta al suo posto per rollback. Nessun reset, force push, eliminazione di volumi, cambio identità, credenziali, DWH o Authentik. Nessun push Omics eseguito. Nessuna nuova migrazione applicata; i controlli Django prima e dopo il riavvio non rilevano migrazioni o modifiche dei modelli pendenti. L’entrypoint web ha rieseguito i normali comandi di startup, statici e traduzioni.

Backup ed esecuzione

Backup protetto root 0700: /srv/thothii-v2/backups/20260926-coordinated-release. Completato e VERIFIED alle 19:31:57, circa 2,89 GiB, 23 checksum, archivi tar leggibili e indici dei dump verificati. Non è una prova di restore.

Include configurazioni/CLI/generated, sorgenti e Git con file locali, immagini precedenti, bind data/registry/Evidence/Pi/segreti, volumi catalogo/Qdrant/Ollama/static/media, dump catalogo e dump PostgreSQL condiviso. Il DB condiviso è rimasto operativo: il suo dump è una snapshot transazionale, non un backup raw del database fermo. Il volume raw del catalogo ThothII è stato archiviato a servizio fermo. Nessun restore dati eseguito.

Cronologia Europe/Rome:

  • 19:28: controllo del piano approvato positivo; riserva 20,9 GiB, liberi 27,8 GiB.
  • 19:29:21: configurazione di rollback salvata e verificata prima delle mutazioni.
  • 19:29:42: maintenance e chiusura nginx Omics; due controlli Pi negativi.
  • 19:30:03: applicazioni ferme; dump, fermo supporti e archiviazione dati.
  • 19:31:57: backup verificato.
  • 19:32:10: deploy avviato; core 19:32:17, frontend 19:32:23, web Omics 19:32:29, nginx 19:32:36.
  • 19:35:27: accettazione automatica completata e maintenance disattivata.

Il periodo tra chiusura e riavvio nginx è stato circa tre minuti; le nuove ammissioni sessione sono rimaste bloccate fino al completamento dei controlli.

Correzione del controllo durante il rilascio

L’accettazione iniziale si è fermata su un falso negativo nello script: config.js invia due header Cache-Control, no-cache e no-store; il controllo leggeva solo il primo. Configurazione e risposta HTTP erano corrette.

Riproduzione isolata rossa, correzione di una riga con get_all, 16 test verdi, compreso il rifiuto quando no-store manca davvero. Nessuna modifica applicativa necessaria. Maintenance mantenuta attiva fino alla ripetizione completa dell’accettazione. Non sono stati ripetuti backup, fast-forward o ricreazione.

Directory script/evidenze: /srv/thothii-v2/operator/releases/20260926-coordinated/reviewed/.

  • Script inizialmente approvato conservato in release.approved.py, SHA256 eb2c677c8adbee0c9febf919001f654c8535e71f064d9fb7c7883afd02383a41.
  • Script corretto release.py, SHA256 20314e68a6a42701456d454d2a0881652cfdbe5e00e9a912a22df9e78129aa00.
  • Test di regressione: test_release_reviewed.py, reviewed-tests-cache-fix.log.
  • Stato finale filtrato: deployed-evidence.json; avanzamento nel journal.jsonl del backup. Manifest degli artefatti aggiornato, originale conservato.

Accettazione automatica

Verifica Esito
Digest reali dei container, readiness, doctor Positivi
Alias Docker Univoci e risolti ai container attuali; manifest raggiungibile da Omics
API senza cookie e con principal falsificati 403 su HTTP e HTTPS locale verificato
Bypass asset e traversal codificati Negati; /datamart-builder/assets/api/me restituisce 404
Config 200, embedded e no-store su entrambi i percorsi
Asset Tutti i file elencati dal manifest disponibili su HTTP/HTTPS
Esposizione core Nessuna porta pubblicata sull’host
Modelli, Pi e credenziali Hash invariati rispetto alla baseline
Documenti persistiti 2 manifest sessione, 51 file sessione/artifact e 221 file workspace/Evidence confrontati col backup: nessuna differenza
Migrazioni e catalogo Omics Nessuna migrazione pendente; catalogo Superset valido
Log startup Zero occorrenze nelle categorie fatal/config/auth/permessi controllate; nessun contenuto sensibile riportato

Le prove HTTPS usano la CA interna e risoluzione locale del nome pubblico; non sostituiscono il collaudo dalla postazione esterna. Il controllo degli hash riguarda i file elencati, non certifica da solo l’intera semantica degli archivi.

Rollback disponibile

Usare lo script corretto, dopo controllo di eventuali sessioni Pi attive:

sudo -n python3 /srv/thothii-v2/operator/releases/20260926-coordinated/reviewed/release.py rollback --window-confirmed

Il rollback previsto dalla finestra approvata ripristina CLI/config/proiezioni e immagini ThothII precedenti, mantiene il fix proxy Omics, riavvia e verifica le applicazioni. Conserva dati e volumi; nessun restore del DB condiviso, reset Git o ritorno al nginx vulnerabile. Se l’utente ha avviato sessioni, prima salvarle e fermarle. Il rollback non è stato necessario né eseguito durante questo rilascio.

Collaudo browser — aggiornamento 27 settembre 2026

Conferme dell’utente:

  • Omics → Datamart Builder si carica senza problemi, in risposta alla prova di apertura senza secondo login.
  • Il 27 settembre: «tutto bene, compreso l’avvio e l’interruzione di una sessione». Nel contesto dei controlli richiesti, registrato esito positivo per IT/EN, tema, fullscreen/Esc e per avvio/interruzione di una sessione.
  • Successivamente, sempre il 27 settembre: «ho anche ripreso una sessione interrotta. tutto ok». Confermata anche la ripresa riuscita; il ciclo funzionale avvio → interruzione → ripresa è collaudato dall’utente.

Il collaudo funzionale richiesto ha esito positivo. Su richiesta dell’utente, le verifiche estese sono trasferite a un’attività successiva nel handoff del 27 settembre: lingua persistita, identità/ruoli, logout, origine delle scritture, amministrazione, reload e HTTPS esterno. Il documento contiene passi, responsabili, risultati attesi e registro delle prove; nessuno di questi casi è dichiarato già superato.

La matrice di accettazione resta il riferimento. Nessuna ulteriore modifica ai servizi è stata eseguita per registrare il collaudo o preparare l’handoff del 27 settembre.