Files
laboratori-cloud/.planning/REQUIREMENTS.md
Luca Sacchi Ricciardi 91a4732458 docs(01-02): complete repository structure and README plan
- Created SUMMARY.md for plan 01-02
- Updated STATE.md (position: 2/2 plans complete)
- Updated ROADMAP.md with plan progress
- Marked requirements GIT-04, GIT-05, SETUP-05 as complete

Phase 1 (Setup & Git Foundation) is now complete.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 19:57:45 +01:00

152 lines
6.8 KiB
Markdown

# Requirements: Laboratori Cloud - Corso Soluzioni Cloud
**Defined:** 2026-03-24
**Core Value:** Gli studenti imparano i concetti cloud praticamente in locale, senza costi o complessità di account cloud reali.
## v1 Requirements
Requirements per il rilascio iniziale. Ogni requisito mappa a una fase della roadmap.
### Laboratori Core
- [ ] **LAB-01**: Studente può configurare utenti Linux, gruppi e permessi per accesso Docker socket (IAM simulation)
- [ ] **LAB-02**: Studente può creare reti Docker bridge isolate per simulare VPC/Subnets
- [ ] **LAB-03**: Studente può deploy container con limiti CPU/memoria e healthchecks (Compute simulation)
- [ ] **LAB-04**: Studente può configurare Docker volumes e MinIO per storage S3-compatible
- [ ] **LAB-05**: Studente può deploy database PostgreSQL in rete privata con volume persistente (RDS simulation)
### Documentazione (Framework Diátaxis)
- [ ] **DOCT-01**: Ogni lab include Tutorial (guida passo-passo incrementale)
- [ ] **DOCT-02**: Ogni lab include How-to Guides (procedure specifiche slegate dal flusso)
- [ ] **DOCT-03**: Ogni lab include Reference (specifiche tecniche: docker-compose.yml, mappe IP, porte)
- [ ] **DOCT-04**: Ogni lab include Explanation (parallelismo Docker ↔ cloud service)
- [ ] **DOCT-05**: Tutorial seguono principio "little often" (piccoli step, frequente pratica)
### Testing & Qualità
- [ ] **TEST-01**: Ogni lab include script di test bash pre-implementazione (TDI approach RED→GREEN→REFACTOR)
- [ ] **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
- [ ] **TEST-05**: Ogni lab include comando di verifica finale ("double check")
### Infrastruttura & Sicurezza
- [ ] **INF-01**: Nessun container gira come utente root (principio minimo privilegio)
- [ ] **INF-02**: Reti private non espongono porte sull'host (127.0.0.1 max, mai 0.0.0.0)
- [ ] **INF-03**: Tutti i container hanno limiti risorse obbligatori (cpus, mem_limit)
- [ ] **INF-04**: Dati persistenti sopravvivono a riavvio container (named volumes)
- [x] **INF-05**: File docker-compose.yml validati con `docker-compose config` prima dell'uso
### Git & Workflow
- [ ] **GIT-01**: Ogni lab sviluppato su branch isolato (lab-01-iam, lab-02-network, etc.)
- [ ] **GIT-02**: Commit seguono Conventional Commits (`feat:`, `test:`, `docs:`)
- [ ] **GIT-03**: Commit sono atomici (una funzionalità per commit)
- [x] **GIT-04**: README include istruzioni cloning e setup iniziale
- [x] **GIT-05**: Struttura repo chiara con cartelle `labs/`, `how-to-guides/`, `reference/`
### Parallelismo Cloud ↔ Locale
- [ ] **PARA-01**: Ogni componente Docker è mappato al servizio cloud corrispondente nella Explanation
- [ ] **PARA-02**: Architettura locale usa nomenclatura cloud (VPC, subnet, security groups)
- [ ] **PARA-03**: Differenze tra locale e cloud sono documentate esplicitamente
- [ ] **PARA-04**: Comandi Docker equivalenti a comandi cloud sono mostrati a confronto
### Setup & Requisiti Utente
- [x] **SETUP-01**: Documentato requisito Docker Engine >= 24.0 e Compose V2
- [x] **SETUP-02**: Documentato requisito utility di rete (netcat, curl, iproute2)
- [x] **SETUP-03**: Specificate risorse minime consigliate (RAM, CPU)
- [x] **SETUP-04**: Fornito script di verifica ambiente (check Docker, check versioni)
- [x] **SETUP-05**: Fornito comando di reset completo ambiente (cleanup volumi, reti)
## v2 Requirements
Differiti a rilascio futuro. Tracciati ma non nella roadmap corrente.
### Enhancement Post-Validation
- **SOLU-01**: Soluzioni ufficiali per ogni lab (trigger: richiesta ricorrente studenti)
- **SOLU-02**: Script di auto-correzione per validazione autonoma studente
- **CHAL-01**: Challenge labs opzionali per studenti avanzati
- **MULTI-01**: Versioni multi-cloud (paralleli Azure/GCP oltre ad AWS)
### Infrastructure
- **VM-01**: VM pre-configurata (OVA/Vagrant) per studenti con problemi setup locale
## Out of Scope
Esplicitamente esclusi. Documentati per prevenire scope creep.
| Feature | Reason |
|---------|--------|
| Account cloud reali (AWS/Azure/GCP) | Simulazione locale elimina costi e complessità onboarding |
| Video streaming integrato | Complessità tecnica, bandwidth, distoglie dal "doing" |
| Piattaforma web custom | Sviluppo frontend = distrazione dal valore educativo |
| Lab multi-user collaborativi | Complessità infrastrutturale enorme per v1 |
| Mobile apps | Comandi Docker su mobile = esperienza terribile |
| AI/Chatbot integrato | Costo, complessità manutenzione, risposte inaffidabili |
| Gamification eccessiva | Distrazione dal learning reale |
| Real-time collaboration | Laboratori individuali, condivisione via Git sufficiente |
| Video posts/storage | Storage/bandwidth costs, defer to v2+ |
| OAuth login | Email/password sufficient per v1 |
| Progress tracking integrato | Richiede backend/database, non essenziale per v1 |
| Certification exam prep | Richiede allineamento vendor-specific, lavoro enorme |
| Community features (forum, chat) | Moderation overhead, distrazione dal core |
| Instructor dashboard | Richiede multi-tenancy, mercato diverso |
## Traceability
Quali fasi coprono quali requisiti. Aggiornato dopo creazione roadmap.
| Requirement | Phase | Status |
|-------------|-------|--------|
| LAB-01 | Phase 2 | Pending |
| LAB-02 | Phase 3 | Pending |
| LAB-03 | Phase 4 | Pending |
| LAB-04 | Phase 5 | Pending |
| LAB-05 | Phase 6 | Pending |
| DOCT-01 | Phase 2,3,4,5,6 | Pending |
| DOCT-02 | Phase 2,3,4,5,6,9 | Pending |
| DOCT-03 | Phase 2,3,4,5,6 | Pending |
| DOCT-04 | Phase 2,3,4,5,6 | Pending |
| DOCT-05 | Phase 2,3,4,5,6 | Pending |
| TEST-01 | Phase 2,3,4,5,6 | Pending |
| TEST-02 | Phase 7,10 | Pending |
| TEST-03 | Phase 7,10 | Pending |
| TEST-04 | Phase 7,9 | Pending |
| TEST-05 | Phase 2,3,4,5,6,9 | Pending |
| INF-01 | Phase 2,7,10 | Pending |
| INF-02 | Phase 3,6,7,10 | Pending |
| INF-03 | Phase 4,6,7,10 | Pending |
| INF-04 | Phase 5,6,7,10 | Pending |
| INF-05 | Phase 1,10 | Complete |
| GIT-01 | Phase 8 | Pending |
| GIT-02 | Phase 8 | Pending |
| GIT-03 | Phase 8 | Pending |
| GIT-04 | Phase 1 | Complete |
| GIT-05 | Phase 1,8 | Complete |
| PARA-01 | Phase 2,3,4,5,6,10 | Pending |
| PARA-02 | Phase 3,6,10 | Pending |
| PARA-03 | Phase 2,3,4,5,6,10 | Pending |
| PARA-04 | Phase 2,3,4,5,6,10 | Pending |
| SETUP-01 | Phase 1 | Complete |
| SETUP-02 | Phase 1 | Complete |
| SETUP-03 | Phase 1 | Complete |
| SETUP-04 | Phase 1 | Complete |
| SETUP-05 | Phase 1 | Complete |
**Coverage:**
- v1 requirements: 40 total
- Mapped to phases: 40 ✓
- Unmapped: 0
- Orphaned requirements: 0
---
*Requirements defined: 2026-03-24*
*Last updated: 2026-03-24 after roadmap creation*