--- gsd_state_version: 1.0 milestone: v1.0 milestone_name: milestone current_phase: 3 current_plan: Not started status: planning last_updated: "2026-03-24T21:35:41.930Z" progress: total_phases: 10 completed_phases: 2 total_plans: 5 completed_plans: 5 --- # STATE: Laboratori Cloud - Corso Soluzioni Cloud **Last Updated:** 2026-03-24 **Current Phase:** 3 **Overall Progress:** 1/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:** 2 - Lab 01: IAM & Sicurezza **Status:** Ready to plan **Plans:** 1/3 complete **Progress Bar:** ``` [███░░░░░░░] 33% complete Phase 2: [███░░░░░░] Plan 01 (Test Infrastructure) complete ``` **Current Plan:** Not started **What we're working on:** Repository structure creata, README.md completo con istruzioni setup e troubleshooting. Phase 1 pronta per completamento formale. --- ## Performance Metrics **Phase Completion Rate:** 0/10 (0%) **Plans Completion Rate:** 2/26 (8%) **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 | | Phase 01-setup-git-foundation P01 | 180 | 3 tasks | 3 files | | Phase 01 P02 | 3 | 2 tasks | 6 files | | Phase 02-lab-01-iam-sicurezza P02 | 4 | 6 tasks | 10 files | | Phase 02-lab-01-iam-sicurezza P03 | 233 | 3 tasks | 3 files | ### 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/`~~ ✅ Complete 2. ~~Scrivere README con istruzioni cloning e setup iniziale~~ ✅ Complete 3. ~~Documentare requisiti Docker Engine >= 24.0 e Compose V2~~ ✅ Complete 4. ~~Creare script verifica ambiente (check Docker, versioni, risorse minime)~~ ✅ Complete (Plan 01) 5. ~~Creare comando cleanup/reset completo ambiente~~ ✅ Complete (Plan 01) 6. ~~Configurare Conventional Commits per repository~~ ✅ Complete (documentato in README) **Phase 1 is now complete. Proceed to Phase 2 planning or execute next phase.** ### 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 - Phase 2 Plan 01 Execution (Test Infrastructure):** - Created 5 test scripts for Lab 01 IAM & Sicurezza (565 lines total) - test-01-user-creation.sh: Validates Linux user/group creation - test-02-docker-access.sh: Verifies Docker socket access control - 03-non-root-test.sh: Ensures INF-01 compliance (no root containers) - 99-final-verification.sh: Student "double check" command - run-all-tests.sh: Test orchestration with fail-fast - All tests follow TDD RED phase methodology - Fixed bash arithmetic issue with set -e using helper functions - Fixed usermod detection for /usr/sbin path - All commits: a5969ba, 2926a53, 4b2cab3, 99edd84, 1a17eeb **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:** Execute Phase 2 Plan 02 - User Implementation (GREEN phase) to make tests pass --- ## 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*