Files
2026-03-24 22:35:47 +01:00

197 lines
7.6 KiB
Markdown

---
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*