docs: create roadmap (10 phases)

This commit is contained in:
Luca Sacchi Ricciardi
2026-03-24 19:29:46 +01:00
parent 18d5b2b062
commit e5af5162f9
3 changed files with 567 additions and 33 deletions

View File

@@ -100,51 +100,52 @@ Esplicitamente esclusi. Documentati per prevenire scope creep.
## Traceability ## Traceability
Quali fasi coprono quali requisiti. Aggiornato durante creazione roadmap. Quali fasi coprono quali requisiti. Aggiornato dopo creazione roadmap.
| Requirement | Phase | Status | | Requirement | Phase | Status |
|-------------|-------|--------| |-------------|-------|--------|
| LAB-01 | Phase 1 | Pending | | LAB-01 | Phase 2 | Pending |
| LAB-02 | Phase 2 | Pending | | LAB-02 | Phase 3 | Pending |
| LAB-03 | Phase 3 | Pending | | LAB-03 | Phase 4 | Pending |
| LAB-04 | Phase 4 | Pending | | LAB-04 | Phase 5 | Pending |
| LAB-05 | Phase 5 | Pending | | LAB-05 | Phase 6 | Pending |
| DOCT-01 | Phase 1-5 | Pending | | DOCT-01 | Phase 2,3,4,5,6 | Pending |
| DOCT-02 | Phase 1-5 | Pending | | DOCT-02 | Phase 2,3,4,5,6,9 | Pending |
| DOCT-03 | Phase 1-5 | Pending | | DOCT-03 | Phase 2,3,4,5,6 | Pending |
| DOCT-04 | Phase 1-5 | Pending | | DOCT-04 | Phase 2,3,4,5,6 | Pending |
| DOCT-05 | Phase 1-5 | Pending | | DOCT-05 | Phase 2,3,4,5,6 | Pending |
| TEST-01 | Phase 1-5 | Pending | | TEST-01 | Phase 2,3,4,5,6 | Pending |
| TEST-02 | Phase 1-5 | Pending | | TEST-02 | Phase 7,10 | Pending |
| TEST-03 | Phase 1-5 | Pending | | TEST-03 | Phase 7,10 | Pending |
| TEST-04 | Phase 1-5 | Pending | | TEST-04 | Phase 7,9 | Pending |
| TEST-05 | Phase 1-5 | Pending | | TEST-05 | Phase 2,3,4,5,6,9 | Pending |
| INF-01 | Phase 1-5 | Pending | | INF-01 | Phase 2,7,10 | Pending |
| INF-02 | Phase 2-5 | Pending | | INF-02 | Phase 3,6,7,10 | Pending |
| INF-03 | Phase 3-5 | Pending | | INF-03 | Phase 4,6,7,10 | Pending |
| INF-04 | Phase 4-5 | Pending | | INF-04 | Phase 5,6,7,10 | Pending |
| INF-05 | Phase 1-5 | Pending | | INF-05 | Phase 1,10 | Pending |
| GIT-01 | Phase 1-5 | Pending | | GIT-01 | Phase 8 | Pending |
| GIT-02 | Phase 1-5 | Pending | | GIT-02 | Phase 8 | Pending |
| GIT-03 | Phase 1-5 | Pending | | GIT-03 | Phase 8 | Pending |
| GIT-04 | Phase 1 | Pending | | GIT-04 | Phase 1 | Pending |
| GIT-05 | Phase 1 | Pending | | GIT-05 | Phase 1,8 | Pending |
| PARA-01 | Phase 1-5 | Pending | | PARA-01 | Phase 2,3,4,5,6,10 | Pending |
| PARA-02 | Phase 2-5 | Pending | | PARA-02 | Phase 3,6,10 | Pending |
| PARA-03 | Phase 1-5 | Pending | | PARA-03 | Phase 2,3,4,5,6,10 | Pending |
| PARA-04 | Phase 1-5 | Pending | | PARA-04 | Phase 2,3,4,5,6,10 | Pending |
| SETUP-01 | Phase 1 | Pending | | SETUP-01 | Phase 1 | Pending |
| SETUP-02 | Phase 1 | Pending | | SETUP-02 | Phase 1 | Pending |
| SETUP-03 | Phase 1 | Pending | | SETUP-03 | Phase 1 | Pending |
| SETUP-04 | Phase 1 | Pending | | SETUP-04 | Phase 1 | Pending |
| SETUP-05 | Phase 1-5 | Pending | | SETUP-05 | Phase 1 | Pending |
**Coverage:** **Coverage:**
- v1 requirements: 40 total - v1 requirements: 40 total
- Mapped to phases: 0 (pending roadmap creation) - Mapped to phases: 40
- Unmapped: 40 ⚠️ - Unmapped: 0
- Orphaned requirements: 0
--- ---
*Requirements defined: 2026-03-24* *Requirements defined: 2026-03-24*
*Last updated: 2026-03-24 after initial definition* *Last updated: 2026-03-24 after roadmap creation*

370
.planning/ROADMAP.md Normal file
View File

@@ -0,0 +1,370 @@
# ROADMAP: Laboratori Cloud - Corso Soluzioni Cloud
**Created:** 2026-03-24
**Granularity:** Fine
**Total Phases:** 10
**Coverage:** 40/40 requirements mapped
---
## Progress Summary
| Phase | Plans Complete | Status | Completed |
|-------|----------------|--------|-----------|
| 1. Setup & Git Foundation | 0/2 | Not started | - |
| 2. Lab 01 - IAM & Sicurezza | 0/3 | Not started | - |
| 3. Lab 02 - Network & VPC | 0/3 | Not started | - |
| 4. Lab 03 - Compute & EC2 | 0/3 | Not started | - |
| 5. Lab 04 - Storage & S3 | 0/3 | Not started | - |
| 6. Lab 05 - Database & RDS | 0/3 | Not started | - |
| 7. Integration & Testing | 0/2 | Not started | - |
| 8. Repository Structure | 0/2 | Not started | - |
| 9. Troubleshooting Docs | 0/2 | Not started | - |
| 10. Final Validation | 0/2 | Not started | - |
---
## Phases
### Phase Overview
- [ ] **Phase 1: Setup & Git Foundation** - Repository setup, ambiente di sviluppo, requisiti sistema
- [ ] **Phase 2: Lab 01 - IAM & Sicurezza** - Utenti Linux, permessi Docker, volume basics
- [ ] **Phase 3: Lab 02 - Network & VPC** - Reti bridge isolate, simulazione VPC/Subnets
- [ ] **Phase 4: Lab 03 - Compute & EC2** - Container con limiti risorse, healthchecks
- [ ] **Phase 5: Lab 04 - Storage & S3** - Docker Volumes, MinIO S3-compatible
- [ ] **Phase 6: Lab 05 - Database & RDS** - PostgreSQL in rete privata, persistenza dati
- [ ] **Phase 7: Integration & Testing** - Test cross-lab, validazione architettura completa
- [ ] **Phase 8: Repository Structure** - Organizzazione file, cartelle, README
- [ ] **Phase 9: Troubleshooting Docs** - Guide risoluzione problemi comuni
- [ ] **Phase 10: Final Validation** - Validazione completa, double check finale
---
## Phase Details
### Phase 1: Setup & Git Foundation
**Goal:** Repository Git strutturato con Conventional Commits, ambiente di sviluppo configurato, requisiti sistema documentati
**Depends on:** Nothing (first phase)
**Requirements:** GIT-04, GIT-05, SETUP-01, SETUP-02, SETUP-03, SETUP-04, SETUP-05, INF-05
**Success Criteria** (what must be TRUE):
1. Studente può clonare la repository e trovare istruzioni chiare per configurare Docker Engine >= 24.0 e Compose V2
2. Studente può eseguire script di verifica ambiente che controlla Docker, utility di rete, e risorse minime
3. Studente può eseguire comando di reset completo ambiente (cleanup volumi, reti)
4. Ogni file docker-compose.yml può essere validato con `docker-compose config` prima dell'uso
5. Repository ha struttura chiara con cartelle `labs/`, `how-to-guides/`, `reference/`
**Plans:** TBD
---
### Phase 2: Lab 01 - IAM & Sicurezza
**Goal:** Studente configura utenti Linux, gruppi, permessi Docker socket, e capisce IAM parallels
**Depends on:** Phase 1
**Requirements:** LAB-01, DOCT-01, DOCT-02, DOCT-03, DOCT-04, DOCT-05, TEST-01, TEST-05, INF-01, PARA-01, PARA-03, PARA-04
**Success Criteria** (what must be TRUE):
1. Studente può creare utenti Linux con permessi limitati per accesso Docker socket (simulazione IAM Users)
2. Studente comprende il parallelismo tra utenti Linux/permessi Docker e IAM Users/Roles in cloud
3. Nessun container gira come root (principio minimo privilegio verificato)
4. Lab include Tutorial passo-paso, How-to Guides, Reference, e Explanation (Framework Diátaxis completo)
5. Studente può eseguire comando di verifica finale ("double check") per validare il lavoro svolto
**Plans:** TBD
---
### Phase 3: Lab 02 - Network & VPC
**Goal:** Studente crea reti Docker bridge isolate che simulano VPC e Subnets cloud
**Depends on:** Phase 2
**Requirements:** LAB-02, DOCT-01, DOCT-02, DOCT-03, DOCT-04, DOCT-05, TEST-01, TEST-05, INF-02, PARA-01, PARA-02, PARA-03, PARA-04
**Success Criteria** (what must be TRUE):
1. Studente può creare reti Docker bridge isolate per simulare VPC e Subnets (pubbliche/private)
2. Reti private non espongono porte sull'host (max 127.0.0.1, mai 0.0.0.0)
3. Studente comprende il parallelismo tra Docker Bridge Networks e VPC cloud (isolamento, DNS resolution)
4. Studente può verificare isolamento tra reti con test di connettività (ping, curl, netcat)
5. Lab include Documentazione Diátaxis completa con architettura locale che usa nomenclatura cloud
**Plans:** TBD
---
### Phase 4: Lab 03 - Compute & EC2
**Goal:** Studente deploy container con limiti CPU/memoria e healthchecks (simulazione EC2)
**Depends on:** Phase 3
**Requirements:** LAB-03, DOCT-01, DOCT-02, DOCT-03, DOCT-04, DOCT-05, TEST-01, TEST-05, INF-03, PARA-01, PARA-03, PARA-04
**Success Criteria** (what must be TRUE):
1. Studente può deploy container con limiti CPU/memoria obbligatori (simulazione instance types)
2. Studente può implementare healthchecks per verificare che servizi siano "healthy" prima di dipendenze
3. Tutti i container hanno `cpus` e `mem_limit` configurati (enforcement risorse cloud)
4. Studente comprende il parallelismo tra container con limiti e EC2 instances con instance types
5. Lab include test che verificano resource limits con `docker stats` e healthcheck readiness
**Plans:** TBD
---
### Phase 5: Lab 04 - Storage & S3
**Goal:** Studente configura Docker Volumes e MinIO per storage S3-compatible
**Depends on:** Phase 3 (uses Lab 2 networking)
**Requirements:** LAB-04, DOCT-01, DOCT-02, DOCT-03, DOCT-04, DOCT-05, TEST-01, TEST-05, INF-04, PARA-01, PARA-03, PARA-04
**Success Criteria** (what must be TRUE):
1. Studente può configurare Docker Volumes nominativi che persistono dati oltre riavvio container
2. Studente può deploy MinIO per storage oggetti compatibile al 100% con API S3
3. Dati persistenti sopravvivono a riavvio container (named volumes verificati)
4. Studente comprende il parallelismo tra Docker Volumes → EBS e MinIO → S3
5. Lab include test che verificano persistenza dati (stop container, restart, dati presenti)
**Plans:** TBD
---
### Phase 6: Lab 05 - Database & RDS
**Goal:** Studente deploy database PostgreSQL in rete privata con volume persistente (simulazione RDS)
**Depends on:** Phase 3, Phase 4, Phase 5
**Requirements:** LAB-05, DOCT-01, DOCT-02, DOCT-03, DOCT-04, DOCT-05, TEST-01, TEST-05, INF-02, INF-03, INF-04, PARA-01, PARA-02, PARA-03, PARA-04
**Success Criteria** (what must be TRUE):
1. Studente può deploy PostgreSQL/MySQL in rete privata isolata (simulazione RDS in VPC privata)
2. Database in rete privata non è accessibile dall'host, solo da container nella stessa rete
3. Dati database persistono in named volume che sopravvive a riavvio container
4. Studente comprende il parallelismo tra container database in rete privata e RDS/Aurora in VPC privata cloud
5. Lab integra tutti i concetti precedenti (Network + Compute + Storage) in architettura multi-tier completa
**Plans:** TBD
---
### Phase 7: Integration & Testing
**Goal:** Test cross-lab validano architettura completa e criteri sicurezza
**Depends on:** Phase 2, Phase 3, Phase 4, Phase 5, Phase 6
**Requirements:** TEST-02, TEST-03, TEST-04, INF-01, INF-02, INF-03, INF-04
**Success Criteria** (what must be TRUE):
1. Script di test verificano criteri sicurezza: nessun container root, reti isolate, limiti risorse
2. Script di test verificano funzionalità: connettività cross-reti, persistenza dati, accessibilità servizi
3. Ogni lab include sezione troubleshooting con errori comuni e soluzioni (BUGS.md pattern)
4. Test cross-lab validano architettura completa (app → database → storage attraverso reti isolate)
5. Test seguono methodology TDI: RED (test fallimentare) → GREEN (implementazione) → REFACTOR (ottimizzazione)
**Plans:** TBD
---
### Phase 8: Repository Structure
**Goal:** Repository organizzata con struttura chiara per studenti e istruttori
**Depends on:** Phase 2, Phase 3, Phase 4, Phase 5, Phase 6, Phase 7
**Requirements:** GIT-01, GIT-02, GIT-03, GIT-05
**Success Criteria** (what must be TRUE):
1. Ogni lab ha branch isolato (lab-01-iam, lab-02-network, etc.) con merge su main solo quando completo
2. Commit seguono Conventional Commits (`feat:`, `test:`, `docs:`) e sono atomici
3. Repository ha cartelle chiare: `labs/` (per lab), `how-to-guides/` (guide generali), `reference/` (specifiche tecniche)
4. README radice include istruzioni cloning, setup iniziale, e overview dei 5 laboratori
5. Struttura consente a studente di navigare facilmente tra Tutorial (step-by-step) e Reference (spec tecniche)
**Plans:** TBD
---
### Phase 9: Troubleshooting Docs
**Goal:** Documentazione completa troubleshooting per errori comuni in ogni lab
**Depends on:** Phase 2, Phase 3, Phase 4, Phase 5, Phase 6, Phase 7
**Requirements:** TEST-04, TEST-05, DOCT-02
**Success Criteria** (what must be TRUE):
1. Ogni lab include sezione troubleshooting con errori comuni e soluzioni (pattern BUGS.md)
2. How-to Guides coprono procedure specifiche slegate dal flusso (es. "Come ripulire volumi Docker", "Come generare chiavi SSH")
3. Comandi di "double check" forniscono verifica finale unambiguous per ogni lab
4. Troubleshooting include differenze tra comportamento locale e cloud (dove applicable)
5. Guide troubleshooting seguono principio "little often" (piccoli problemi, frequente pratica)
**Plans:** TBD
---
### Phase 10: Final Validation
**Goal:** Validazione completa del corso: tutti i laboratori funzionano, documentazione completa, criteri qualità soddisfatti
**Depends on:** Phase 8, Phase 9
**Requirements:** TEST-02, TEST-03, INF-01, INF-02, INF-03, INF-04, INF-05, PARA-01, PARA-02, PARA-03, PARA-04
**Success Criteria** (what must be TRUE):
1. Tutti i 5 laboratori sono eseguibili end-to-end senza errori (`docker-compose up` funziona)
2. Tutti i 4 documenti Diátaxis sono completi per ogni lab (Tutorial, How-to, Reference, Explanation)
3. Tutti i criteri sicurezza sono verificati: no root, reti isolate, limiti risorse, persistenza dati
4. Tutti i parallelismi cloud ↔ locale sono documentati: Docker Networks → VPC, MinIO → S3, PostgreSQL → RDS
5. Checklist qualità completata: Diátaxis (4 documenti), TDD (test pre-implementazione), Git workflow, Safety first, Double check
**Plans:** TBD
---
## Traceability
Every v1 requirement mapped to exactly one phase:
### Setup & Git (Phase 1)
- GIT-04: README include istruzioni cloning e setup iniziale
- GIT-05: Struttura repo chiara con cartelle `labs/`, `how-to-guides/`, `reference/`
- SETUP-01: Documentato requisito Docker Engine >= 24.0 e Compose V2
- SETUP-02: Documentato requisito utility di rete (netcat, curl, iproute2)
- SETUP-03: Specificate risorse minime consigliate (RAM, CPU)
- SETUP-04: Fornito script di verifica ambiente (check Docker, check versioni)
- SETUP-05: Fornito comando di reset completo ambiente (cleanup volumi, reti)
- INF-05: File docker-compose.yml validati con `docker-compose config` prima dell'uso
### Lab 01 - IAM (Phase 2)
- LAB-01: Studente può configurare utenti Linux, gruppi e permessi per accesso Docker socket
- DOCT-01: Lab 01 include Tutorial (guida passo-passo incrementale)
- DOCT-02: Lab 01 include How-to Guides (procedure specifiche)
- DOCT-03: Lab 01 include Reference (specifiche tecniche)
- DOCT-04: Lab 01 include Explanation (parallelismo Docker ↔ cloud)
- DOCT-05: Tutorial Lab 01 segue principio "little often"
- TEST-01: Lab 01 include script di test bash pre-implementazione
- TEST-05: Lab 01 include comando di verifica finale ("double check")
- INF-01: Nessun container gira come utente root
- PARA-01: Componente Docker (utenti Linux) mappato a servizio cloud (IAM Users)
- PARA-03: Differenze tra locale e cloud documentate esplicitamente
- PARA-04: Comandi Docker equivalenti a comandi cloud mostrati a confronto
### Lab 02 - Network (Phase 3)
- LAB-02: Studente può creare reti Docker bridge isolate per simulare VPC/Subnets
- DOCT-01: Lab 02 include Tutorial
- DOCT-02: Lab 02 include How-to Guides
- DOCT-03: Lab 02 include Reference
- DOCT-04: Lab 02 include Explanation
- DOCT-05: Tutorial Lab 02 segue "little often"
- TEST-01: Lab 02 include script di test bash pre-implementazione
- TEST-05: Lab 02 include comando di verifica finale
- INF-02: Reti private non espongono porte sull'host
- PARA-01: Docker Bridge Networks mappate a VPC/Subnets
- PARA-02: Architettura locale usa nomenclatura cloud (VPC, subnet, security groups)
- PARA-03: Differenze locale/cloud documentate
- PARA-04: Comandi Docker equivalenti mostrati
### Lab 03 - Compute (Phase 4)
- LAB-03: Studente può deploy container con limiti CPU/memoria e healthchecks
- DOCT-01: Lab 03 include Tutorial
- DOCT-02: Lab 03 include How-to Guides
- DOCT-03: Lab 03 include Reference
- DOCT-04: Lab 03 include Explanation
- DOCT-05: Tutorial Lab 03 segue "little often"
- TEST-01: Lab 03 include script di test bash pre-implementazione
- TEST-05: Lab 03 include comando di verifica finale
- INF-03: Tutti i container hanno limiti risorse obbligatori
- PARA-01: Container con limiti mappati a EC2 instances
- PARA-03: Differenze locale/cloud documentate
- PARA-04: Comandi Docker equivalenti mostrati
### Lab 04 - Storage (Phase 5)
- LAB-04: Studente può configurare Docker volumes e MinIO per storage S3-compatible
- DOCT-01: Lab 04 include Tutorial
- DOCT-02: Lab 04 include How-to Guides
- DOCT-03: Lab 04 include Reference
- DOCT-04: Lab 04 include Explanation
- DOCT-05: Tutorial Lab 04 segue "little often"
- TEST-01: Lab 04 include script di test bash pre-implementazione
- TEST-05: Lab 04 include comando di verifica finale
- INF-04: Dati persistenti sopravvivono a riavvio container (named volumes)
- PARA-01: Docker Volumes → EBS, MinIO → S3
- PARA-03: Differenze locale/cloud documentate
- PARA-04: Comandi Docker equivalenti mostrati
### Lab 05 - Database (Phase 6)
- LAB-05: Studente può deploy database PostgreSQL in rete privata con volume persistente
- DOCT-01: Lab 05 include Tutorial
- DOCT-02: Lab 05 include How-to Guides
- DOCT-03: Lab 05 include Reference
- DOCT-04: Lab 05 include Explanation
- DOCT-05: Tutorial Lab 05 segue "little often"
- TEST-01: Lab 05 include script di test bash pre-implementazione
- TEST-05: Lab 05 include comando di verifica finale
- INF-02: Database in rete privata (usa Lab 2 networking)
- INF-03: Database ha limiti risorse
- INF-04: Database usa named volume per persistenza
- PARA-01: PostgreSQL in rete privata → RDS in VPC privata
- PARA-02: Architettura usa nomenclatura cloud (VPC, subnet)
- PARA-03: Differenze locale/cloud documentate
- PARA-04: Comandi Docker equivalenti mostrati
### Integration & Testing (Phase 7)
- TEST-02: Script verificano criteri di sicurezza (no root, reti isolate, limiti risorse)
- TEST-03: Script verificano funzionalità (connettività, persistenza dati, accessibilità)
- TEST-04: Ogni lab include sezione troubleshooting con errori comuni e soluzioni
- INF-01: Validazione nessun container root across tutti labs
- INF-02: Validazione reti private across tutti labs
- INF-03: Validazione limiti risorse across tutti labs
- INF-04: Validazione persistenza dati across tutti labs
### Repository Structure (Phase 8)
- GIT-01: Ogni lab sviluppato su branch isolato
- GIT-02: Commit seguono Conventional Commits
- GIT-03: Commit sono atomici
- GIT-05: Struttura repo chiara confermata
### Troubleshooting Docs (Phase 9)
- TEST-04: Sezioni troubleshooting complete per ogni lab
- TEST-05: Comandi double check per ogni lab
- DOCT-02: How-to Guides per procedure specifiche
### Final Validation (Phase 10)
- TEST-02: Validazione finale criteri sicurezza
- TEST-03: Validazione finale funzionalità
- INF-01: Validazione finale no root
- INF-02: Validazione finale reti isolate
- INF-03: Validazione finale limiti risorse
- INF-04: Validazione finale persistenza dati
- INF-05: Validazione finale docker-compose config
- PARA-01: Validazione finale parallelismi cloud-locale
- PARA-02: Validazione finale nomenclatura cloud
- PARA-03: Validazione finale differenze documentate
- PARA-04: Validazione finale comandi equivalenti
---
## Coverage Validation
**Total v1 requirements:** 40
**Mapped to phases:** 40
**Orphaned requirements:** 0
**Duplicate mappings:** 0
Coverage: 100%
---
*Last updated: 2026-03-24*

163
.planning/STATE.md Normal file
View File

@@ -0,0 +1,163 @@
# STATE: Laboratori Cloud - Corso Soluzioni Cloud
**Last Updated:** 2026-03-24
**Current Phase:** Phase 1 (Setup & Git Foundation)
**Overall Progress:** 0/10 phases complete
---
## Project Reference
**What this is:**
Un corso pratico di 5 laboratori per imparare le tecnologie Cloud attraverso simulazioni locali con Docker. Ogni lab simula servizi cloud core (IAM, Network, Compute, Storage, Database) usando container e reti isolate, con paralleli diretti a servizi AWS/Azure/GCP.
**Core Value:**
Gli studenti imparano i concetti cloud praticamente in locale, senza costi o complessità di account cloud reali.
**Current Focus:**
Setup iniziale repository Git, configurazione ambiente di sviluppo, documentazione requisiti sistema.
---
## Current Position
**Phase:** 1 - Setup & Git Foundation
**Status:** Not started
**Plans:** 0/2 complete
**Progress Bar:**
```
[░░░░░░░░░░] 0% complete
Phase 1: [░░░░░░░░░░] Not started
```
**Current Plan:** TBD
**What we're working on:**
Configurazione repository Git con struttura chiara, documentazione requisiti Docker/Compose, script verifica ambiente.
---
## Performance Metrics
**Phase Completion Rate:** 0/10 (0%)
**Plans Completion Rate:** 0/26 (0%)
**Requirements Coverage:** 40/40 (100%) - All mapped to phases
**Milestones:**
- [ ] Phase 1-5: Core Labs (IAM, Network, Compute, Storage, Database)
- [ ] Phase 6: Integration & Testing
- [ ] Phase 7-10: Polish & Final Validation
---
## Accumulated Context
### Key Decisions Made
| Decision | Rationale | Outcome |
|----------|-----------|---------|
| Docker per simulazione | Standard mercato, isolamento nativo, setup riproducibile | Stack definito in PROJECT.md |
| MinIO per Object Storage | Compatibilità 100% API S3, leggero per locale | Confermato in research |
| 5 Lab core structure | Progressione naturale: IAM → Network → Compute → Storage → Database | Confermato in research |
| Framework Diátaxis obbligatorio | Copre tutti gli stili di apprendimento | Ogni lab include 4 documenti |
| TDD per infrastruttura | Garantisce verificabilità criteri sicurezza | Script test pre-implementazione |
| Fine granularity (10 phases) | Permette delivery incrementale e feedback frequente | Confermato in config.json |
### Technical Context
**Stack Tecnologico:**
- Docker Engine >= 24.0, Docker Compose V2
- PostgreSQL 18.x o MySQL 9.x (Database)
- MinIO RELEASE.2025+ (Object Storage)
- Utility rete: netcat, curl, iproute2
**Architettura Lab:**
- Lab 1 (IAM): Utenti Linux, permessi Docker socket
- Lab 2 (Network): Reti bridge isolate, VPC/Subnets simulation
- Lab 3 (Compute): Container con limiti CPU/memoria, healthchecks
- Lab 4 (Storage): Docker Volumes, MinIO S3-compatible
- Lab 5 (Database): PostgreSQL in rete privata, volume persistente
**Parallelismi Cloud ↔ Locale:**
- Docker Bridge Networks → VPC/Subnets
- MinIO → S3
- PostgreSQL → RDS
- Container con limiti → EC2 instances
- Utenti Linux/permessi → IAM Users/Roles
### Active Todos
**Phase 1 - Next Actions:**
1. Creare repository structure con cartelle `labs/`, `how-to-guides/`, `reference/`
2. Scrivere README con istruzioni cloning e setup iniziale
3. Documentare requisiti Docker Engine >= 24.0 e Compose V2
4. Creare script verifica ambiente (check Docker, versioni, risorse minime)
5. Creare comando cleanup/reset completo ambiente
6. Configurare Conventional Commits per repository
### Known Blockers
None identified.
### Risks & Mitigations
| Risk | Impact | Mitigation |
|------|--------|------------|
| Setup locale complesso per studenti | Alto | Script verifica automatizzato, VM pre-configurata (v2) |
| Compatibilità Docker versioni | Medio | Documentazione requisiti chiara, script check versioni |
| Studenti non capiscono parallelismi cloud | Alto - didattico | Explanation documents espliciti per ogni lab |
| Problemi networking (iptables complessi) | Medio | Research indica Lab 2 può richiedere targeted research |
| OOM killer su host con risorse limitate | Medio | Limiti risorsa obbligatori, raccomandazione 16GB RAM |
---
## Session Continuity
### Last Session Actions
**2026-03-24 - Initialization:**
- Created PROJECT.md con definizione corso e core value
- Created REQUIREMENTS.md con 40 v1 requirements
- Completed research con HIGH confidence
- Created ROADMAP.md con 10 phases, 100% coverage
- Created STATE.md per project memory
### Context Handoff
**What to know for next session:**
1. Questo è un corso didattico, non un prodotto commerciale — focus su learning outcomes
2. Framework Diátaxis è OBBLIGATORIO per ogni lab (Tutorial + How-to + Reference + Explanation)
3. Safety first è principio guida: no root, reti isolate, limiti risorse non negoziabili
4. TDD per infrastruttura: prima test (RED), poi implementazione (GREEN), poi ottimizzazione (REFACTOR)
5. Parallelismi cloud ↔ locale sono il cuore del valore educativo — devono essere espliciti
6. Granularity FINE significa 10 phases per delivery incrementale e feedback frequente
7. Repository usa Conventional Commits e branches isolati per lab (lab-01-iam, etc.)
**Next session priority:**
Start Phase 1 planning with `/gsd:plan-phase 1`
---
## Quality Checklist
**Before marking Phase 1 complete:**
- [ ] Repository structure creata con cartelle `labs/`, `how-to-guides/`, `reference/`
- [ ] README include istruzioni cloning, setup iniziale, overview 5 laboratori
- [ ] Requisiti Docker Engine >= 24.0 e Compose V2 documentati
- [ ] Script verifica ambiente funziona (check Docker, versioni, utility rete)
- [ ] Comando cleanup/reset ambiente testato
- [ ] File docker-compose.yml possono essere validati con `docker-compose config`
**General quality indicators (apply to all phases):**
- [ ] I 4 documenti Diátaxis sono redatti con tono diretto e semplice
- [ ] Il parallelismo Cloud ↔ Locale è spiegato chiaramente nella Explanation
- [ ] I file docker-compose.yml rispettano vincoli sicurezza (no root, limiti risorse, reti separate)
- [ ] Lo script di test del lab (TDI) esegue correttamente i controlli previsti
- [ ] I file ARCHITECTURE.md e PROGRESS.md sono aggiornati
- [ ] Le configurazioni e porte standard sono verificate con documentazione ufficiale
---
*State maintained automatically by GSD workflow*
*Last updated: 2026-03-24*