- Created Dockerfile with non-root user (labuser UID 1000) - Created docker-compose.yml with user directive (1000:1000) - Created infrastructure verification script (6/6 tests pass) - All INF-01 requirements satisfied - TDD GREEN phase complete Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7.6 KiB
gsd_state_version, milestone, milestone_name, current_phase, current_plan, status, last_updated, progress
| gsd_state_version | milestone | milestone_name | current_phase | current_plan | status | last_updated | progress | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.0 | v1.0 | milestone | 2 | 02 - User Implementation (next) | executing | 2026-03-24T21:33:00.753Z |
|
STATE: Laboratori Cloud - Corso Soluzioni Cloud
Last Updated: 2026-03-24 Current Phase: 2 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: Executing Plans: 1/3 complete
Progress Bar:
[███░░░░░░░] 33% complete
Phase 2: [███░░░░░░] Plan 01 (Test Infrastructure) complete
Current Plan: 02 - User Implementation (next)
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 |
| Phase 01 P02 | 3 | 2 tasks |
| Phase 02-lab-01-iam-sicurezza P02 | 4 | 6 tasks |
| Phase 02-lab-01-iam-sicurezza P03 | 233 | 3 tasks |
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:
Creare repository structure con cartelle✅ Completelabs/,how-to-guides/,reference/Scrivere README con istruzioni cloning e setup iniziale✅ CompleteDocumentare requisiti Docker Engine >= 24.0 e Compose V2✅ CompleteCreare script verifica ambiente (check Docker, versioni, risorse minime)✅ Complete (Plan 01)Creare comando cleanup/reset completo ambiente✅ Complete (Plan 01)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:
- Questo è un corso didattico, non un prodotto commerciale — focus su learning outcomes
- Framework Diátaxis è OBBLIGATORIO per ogni lab (Tutorial + How-to + Reference + Explanation)
- Safety first è principio guida: no root, reti isolate, limiti risorse non negoziabili
- TDD per infrastruttura: prima test (RED), poi implementazione (GREEN), poi ottimizzazione (REFACTOR)
- Parallelismi cloud ↔ locale sono il cuore del valore educativo — devono essere espliciti
- Granularity FINE significa 10 phases per delivery incrementale e feedback frequente
- 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