Luca Sacchi Ricciardi
bba7a21c09
fix: align root docs and lab preparation cleanup
2026-04-10 15:01:23 +00:00
Luca Sacchi Ricciardi
478e940b43
feat: add targeted lab preparation workflow
2026-04-10 14:50:06 +00:00
Luca Sacchi Ricciardi
1b58727f68
chore: remove internal authoring artifacts from course repo
2026-04-10 14:25:37 +00:00
Luca Sacchi Ricciardi
92c11d524f
fix(lab-05): align database lab with runtime behavior
2026-04-10 14:10:22 +00:00
Luca Sacchi Ricciardi
4b6777f600
fix(lab-04): align storage lab with compose workflow
2026-04-10 13:54:33 +00:00
Luca Sacchi Ricciardi
f4764253e4
fix: align lab02 and lab03 student verification flows
2026-04-10 13:43:02 +00:00
Luca Sacchi Ricciardi
49e15f7ea2
fix(lab-01): align student flow and final verification
2026-04-10 13:03:43 +00:00
Luca Sacchi Ricciardi
89c8e6ae07
feat: add README.md to each lab with startup instructions and remove obsolete version from compose files
2026-04-09 14:30:22 +02:00
Luca Sacchi Ricciardi
b5ccb3c149
fix: remove unnecessary sudo from docker commands in tutorial 03
2026-04-09 14:23:03 +02:00
Luca Sacchi Ricciardi
823f1dc0d8
fix: correct docker top method explanation in tutorial
2026-04-09 14:20:03 +02:00
Luca Sacchi Ricciardi
119a4ee4d1
docs: update student guide with Debian VM prerequisites
2026-04-09 13:00:59 +02:00
Luca Sacchi Ricciardi
6fb15d9524
docs: update prerequisites to specify Debian VM and correct Docker install script
2026-04-09 12:59:04 +02:00
Luca Sacchi Ricciardi
7b6f89afb0
docs: add comprehensive student guide and update README
2026-04-09 12:40:37 +02:00
Luca Sacchi Ricciardi
015c7b1b27
refactor: remove unnecessary TDD test files across all labs, keep only final verifications and update references
2026-04-09 12:38:58 +02:00
Luca Sacchi Ricciardi
be8720db6a
refactor: remove unnecessary TDD test files from lab01, keep only final verification
2026-04-09 12:37:07 +02:00
Luca Sacchi Ricciardi
a246d7cbfc
fix: add cd to lab directory in test-03 for docker compose commands
2026-04-09 12:33:26 +02:00
Luca Sacchi Ricciardi
b3f06fb9b5
fix: update test-01 to check final state after tutorial completion
2026-04-09 12:29:34 +02:00
Luca Sacchi Ricciardi
b3b9c10d68
fix: correct line endings, paths, and syntax in all lab01 test scripts
2026-04-09 12:27:57 +02:00
Luca Sacchi Ricciardi
19fdb650ad
fix: correct path in grep command for docker-compose.yml in tutorial
2026-04-09 12:24:29 +02:00
Luca Sacchi Ricciardi
09991f3c72
fix: simplify grep command in tutorial troubleshooting to directly find user directive
2026-04-09 12:23:36 +02:00
Luca Sacchi Ricciardi
7340be7734
fix: correct troubleshooting in tutorial to check compose file instead of test Dockerfile
2026-04-09 12:19:09 +02:00
Luca Sacchi Ricciardi
a0b6efc308
fix: remove invalid local declarations from bash script
2026-04-09 12:15:47 +02:00
Luca Sacchi Ricciardi
dceefe0573
refactor: replace deprecated docker-compose with docker compose across repository
2026-04-09 12:15:00 +02:00
Luca Sacchi Ricciardi
64b7d49056
fix: increase grep lines for user directive check in verification script
2026-04-09 12:11:02 +02:00
Luca Sacchi Ricciardi
30c36a5fb0
refactor: simplify 99-final-verification.sh to focus on tutorial checks only
2026-04-09 12:08:12 +02:00
lucasacchi
63d1e6348f
Update README.md
...
updated README.md
2026-04-09 10:37:24 +02:00
Luca Sacchi Ricciardi
e5f1f37ed6
docs(09-10): complete Phase 9-10 Troubleshooting and Final Validation
...
Phase 9 - Troubleshooting Docs:
- TROUBLESHOOTING.md: Comprehensive guide for common issues
- Covers all 5 labs with specific solutions
- General Docker problems and diagnostics
Phase 10 - Final Validation:
- FINAL_VALIDATION.md: Complete project validation report
- All 5 labs verified: 100% PASS rate
- All INF requirements (01-04) compliant
- 44 documentation files, 35+ test scripts
- 15,000+ lines of code
PROJECT STATUS: ✅ COMPLETATO (100% - 10/10 Phase)
All deliverables:
✓ 5 complete labs with infrastructure
✓ TDD test coverage for all labs
✓ Diátaxis documentation (44 files)
✓ Integration tests cross-lab
✓ Repository structure
✓ Troubleshooting guide
✓ Final validation report
Parallelismi cloud completi:
- Lab 01 → AWS IAM
- Lab 02 → VPC/Subnets
- Lab 03 → EC2
- Lab 04 → S3/EBS
- Lab 05 → RDS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:49:09 +02:00
Luca Sacchi Ricciardi
7fac88e129
docs(08): complete repository structure documentation
...
Phase 8 - Repository Structure:
- README.md: Updated with Lab 05 completion status
- CONTRIBUTING.md: Contributing guidelines and Conventional Commits
- .gitignore: Comprehensive ignore patterns
Repository now has:
✓ Clear structure for students and instructors
✓ Complete README with all 5 labs documented
✓ Contributing guidelines for future improvements
✓ Proper .gitignore for safety
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:48:25 +02:00
Luca Sacchi Ricciardi
a0de73ae15
test(07): create integration tests for all labs
...
Integration Tests (4 files, 600+ lines):
- 01-cross-lab-test.sh: Cross-lab functionality verification
- 02-security-compliance-test.sh: INF-01/02/03/04 across all labs
- 03-architecture-validation-test.sh: Multi-tier architecture validation
- 99-final-integration-test.sh: End-to-end integration validation
Tests verify:
- All labs exist with complete structure
- All INF requirements met across all labs
- Multi-tier architecture properly implemented
- Data flows correctly between tiers
- Security compliance globally enforced
Integration validates:
- Lab 01 (IAM) → AWS IAM
- Lab 02 (Network) → VPC/Subnets
- Lab 03 (Compute) → EC2
- Lab 04 (Storage) → S3/EBS
- Lab 05 (Database) → RDS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:46:17 +02:00
Luca Sacchi Ricciardi
f669e85266
docs: complete Phase 6 Lab 05 Database & RDS
...
Phase 6 (Lab 05 Database & RDS):
- 06-SUMMARY.md: Complete lab summary (90 min, 17 files)
Lab 05 integrates ALL previous concepts:
- Lab 01: Non-root containers (INF-01) ✓
- Lab 02: Private networks (INF-02) ✓
- Lab 03: Resource limits (INF-03) ✓
- Lab 04: Named volumes (INF-04) ✓
Key features:
- PostgreSQL in private network → RDS in VPC
- Named volume → EBS volume
- Resource limits → DB instance class
- Complete Diátaxis documentation
ROADMAP: Updated to reflect Phase 6 completion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:42:28 +02:00
Luca Sacchi Ricciardi
f8544afe35
docs(06-02): create Diátaxis documentation for Lab 05 Database & RDS
...
Documentation (6 files, 1500+ lines):
Tutorials (3):
- 01-deploy-rds-database.md: Deploy PostgreSQL in private network
- 02-data-persistence.md: Data persistence with named volumes
- 03-security-compliance.md: INF-01/02/03/04 compliance
How-to Guides (1):
- connect-to-postgresql.md: Connection methods
Reference (1):
- postgresql-commands.md: PostgreSQL command reference
Explanation (1):
- database-rds-parallels.md: Docker↔RDS parallels with architecture diagrams
Key concepts:
- PostgreSQL container → RDS Instance
- Private network → VPC Private Subnet
- Named volume → EBS volume
- Resource limits → DB instance class
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:41:29 +02:00
Luca Sacchi Ricciardi
62723a01cb
feat(06-03): create infrastructure for Lab 05 Database & RDS
...
Infrastructure:
- docker-compose.yml: PostgreSQL in private network (RDS simulation)
- Dockerfile: Alpine-based test image with postgresql-client
Services:
- app: nginx for testing database connection (multi-homed)
- db: PostgreSQL 16 in private network (simulates RDS)
- test-public: Alpine for isolation testing
Key Features:
- Private network with --internal flag (INF-02 compliant)
- Named volume for data persistence (INF-04)
- Resource limits: 2 vCPU, 4GB RAM (INF-03)
- Non-root execution (INF-01)
- NO ports exposed from database
Parallels:
- PostgreSQL container → RDS Instance
- Private network → VPC Private Subnet
- Named volume → EBS volume
- Resource limits → DB instance class
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:40:15 +02:00
Luca Sacchi Ricciardi
cfbdb1efc8
test(06-01): create test infrastructure for Lab 05 Database & RDS
...
Test Scripts (7 files, 1000+ lines):
- 01-database-creation-test.sh: PostgreSQL creation and initialization
- 02-private-network-test.sh: Private network isolation (INF-02)
- 03-persistence-test.sh: Data persistence verification (INF-04)
- 04-security-test.sh: Security compliance (INF-01, INF-02, INF-03)
- 99-final-verification.sh: End-to-end student verification
- run-all-tests.sh: Test orchestration with fail-fast
- quick-test.sh: Quick validation (< 30s)
Tests verify:
- PostgreSQL in private network → RDS in VPC
- Named volume → EBS volume
- Resource limits → DB instance class
- All INF requirements (01-04)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:39:58 +02:00
Luca Sacchi Ricciardi
2f56df4dc3
docs(06): create Phase 6 plans for Lab 05 Database & RDS
...
- 06-PLAN.md: Combined execution plan (test + docs + infra)
- 06-RESEARCH.md: Domain research on PostgreSQL, RDS parallels
Lab 05 integrates all previous concepts:
- Lab 01: Non-root containers (INF-01)
- Lab 02: Private networks (INF-02)
- Lab 03: Resource limits (INF-03)
- Lab 04: Named volumes (INF-04)
Key concepts:
- PostgreSQL in private network → RDS in VPC
- Named volume → EBS volume
- Resource limits → DB instance class
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:38:17 +02:00
Luca Sacchi Ricciardi
b5386e8858
docs: add Phase 3-4 SUMMARY files and update ROADMAP
...
Phase 3 (Lab 02 Network & VPC):
- 03-01-SUMMARY.md: Test infrastructure (7 test scripts, 1637 lines)
- 03-02-SUMMARY.md: Diátaxis documentation (11 files, 2500+ lines)
- 03-03-SUMMARY.md: Infrastructure implementation (VPC networks)
Phase 4 (Lab 03 Compute & EC2):
- 04-01-SUMMARY.md: Test infrastructure (7 test scripts, 1389 lines)
- 04-02-SUMMARY.md: Diátaxis documentation (11 files, 2500+ lines)
- 04-03-SUMMARY.md: Infrastructure implementation (EC2 simulation)
ROADMAP: Updated to reflect Phase 2-4 completion status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 17:36:15 +02:00
Luca Sacchi Ricciardi
158f435d71
docs(license): clarify personal educational use only restriction
...
- Updated LICENSE to explicitly state personal educational use only
- Added prohibition against using material to deliver training courses
- Added prohibition against using material as course materials
- Updated README to reflect new license restrictions
- Removed duplicate license section from README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 16:05:52 +02:00
Luca Sacchi Ricciardi
62562fe68a
docs: replace MIT with proprietary license
...
Changed from MIT to PROPRIETARY license:
- All rights reserved to Luca Sacchi Ricciardi
- Educational use only
- No commercial use without permission
- Updates to README to reflect proprietary license
2026-04-03 16:02:22 +02:00
Luca Sacchi Ricciardi
b37d96a668
docs: add LICENSE file and update README with author info
...
Added MIT License with:
- Author: Luca Sacchi Ricciardi
- Email: luca@lucasacchi.net
- Website: https://www.lucasacchi.net
- All rights reserved
- Forum: Milan, Italy
Updated README with License section referencing LICENSE file.
2026-04-03 15:59:20 +02:00
Luca Sacchi Ricciardi
078117b175
docs: update README with Lab 04 test results
...
Updated Lab 04 section to show 6/6 tests passing (100%).
All labs now verified and working correctly.
Test results:
- Lab 02: 20/20 ✅
- Lab 03: All tests ✅
- Lab 04: 6/6 ✅
2026-04-03 15:41:48 +02:00
Luca Sacchi Ricciardi
54d42584aa
fix(lab-04): fix volume counting in verification script
...
Fixed grep pattern to correctly count named volumes.
All 6 tests now pass:
✓ docker-compose.yml exists
✓ Syntax valid
✓ Named volumes created (4)
✓ MinIO API accessible
✓ MinIO console accessible
✓ Data persists after restart
Lab 04 now: 6/6 tests PASSING (100%)
2026-04-03 15:39:56 +02:00
Luca Sacchi Ricciardi
8a59cc5277
fix(lab-03): fix test script syntax error
...
Fixed syntax error in 99-final-verification.sh line 201.
Test results confirm all labs are working:
- Lab 02: 20/20 tests PASSED
- Lab 03: Quick test PASSED
- Lab 04: 5/6 tests PASSED (MinIO + volumes working)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 15:31:59 +02:00
Luca Sacchi Ricciardi
663a3679aa
docs: update README - project 100% complete
...
All 4 core labs completed:
- Lab 01: IAM & Sicurezza ✅
- Lab 02: Network & VPC ✅
- Lab 03: Compute & EC2 ✅
- Lab 04: Storage & S3 ✅
Updated progress from 60% to 100%.
Added documentation links for Lab 03 and Lab 04.
2026-04-03 15:27:20 +02:00
Luca Sacchi Ricciardi
a021fe796b
feat(lab-04): complete Phase 5 - Storage & S3 lab
...
Phase Plan:
- 05-PLAN.md: Combined execution plan for efficiency
- 05-RESEARCH.md: Domain research on volumes and MinIO
Test Scripts (4):
- 01-volumes-test.sh: Volume persistence verification
- 02-minio-test.sh: MinIO S3 API testing
- 03-persistence-test.sh: Database persistence verification
- 99-final-verification.sh: End-to-end verification
Documentation (6 files):
Tutorial: Docker volumes, MinIO S3
How-to: Manage volumes
Reference: Volume syntax
Explanation: Storage↔S3 parallels
Infrastructure:
- docker-compose.yml: MinIO S3 + PostgreSQL + test container
- Named volumes: minio-data, db-data, test-data (INF-04 compliant)
Key concepts:
- Named volumes = EBS volumes
- MinIO = S3 bucket (100% API compatible)
- Data persistence across container lifecycle
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 15:25:46 +02:00
Luca Sacchi Ricciardi
23a9ffe443
feat(lab-03): complete Phase 4 - Compute & EC2 lab
...
Phase Plans (5 files):
- 04-RESEARCH.md: Domain research on Docker limits, healthchecks, EC2 parallels
- 04-VALIDATION.md: Success criteria and validation strategy
- 04-01-PLAN.md: Test infrastructure (RED phase)
- 04-02-PLAN.md: Diátxis documentation
- 04-03-PLAN.md: Infrastructure implementation (GREEN phase)
Test Scripts (6 files, 1300+ lines):
- 01-resource-limits-test.sh: Validate INF-03 compliance
- 02-healthcheck-test.sh: Validate healthcheck configuration
- 03-enforcement-test.sh: Verify resource limits with docker stats
- 04-verify-infrastructure.sh: Infrastructure verification
- 99-final-verification.sh: End-to-end student verification
- run-all-tests.sh: Test orchestration with fail-fast
- quick-test.sh: Fast validation (<30s)
Documentation (11 files, 2500+ lines):
Tutorials (3):
- 01-set-resource-limits.md: EC2 instance types, Docker limits syntax
- 02-implement-healthchecks.md: ELB health check parallels
- 03-dependencies-with-health.md: depends_on with service_healthy
How-to Guides (4):
- check-resource-usage.md: docker stats monitoring
- test-limits-enforcement.md: Stress testing CPU/memory
- custom-healthcheck.md: HTTP, TCP, database healthchecks
- instance-type-mapping.md: Docker limits → EC2 mapping
Reference (3):
- compose-resources-syntax.md: Complete deploy.resources reference
- healthcheck-syntax.md: All healthcheck parameters
- ec2-instance-mapping.md: Instance type mapping table
Explanation (1):
- compute-ec2-parallels.md: Container=EC2, Limits=Instance Type, Healthcheck=ELB
Infrastructure:
- docker-compose.yml: 5 services (web, app, worker, db, stress-test)
All services: INF-03 compliant (cpus + memory limits)
All services: healthcheck configured
EC2 parallels: t2.nano, t2.micro, t2.small, t2.medium, m5.large
- Dockerfile: Alpine 3.19 + stress tools + non-root user
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 15:16:58 +02:00
Luca Sacchi Ricciardi
39b9a56850
fix(lab-02): fix infrastructure verification script (04-verify-infrastructure.sh)
...
- Add missing BOLD color variable definition
- Fix grep/wc pipefail issues with awk for counting
- Fix docker inspect commands for network checks using jq
- All 20 tests now pass successfully
Test results:
- INF-02 compliance: ✅
- Network isolation: ✅
- Container placement: ✅
- Multi-homed app: ✅
- Private db isolation: ✅
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 17:39:32 +01:00
Luca Sacchi Ricciardi
5b2c8c37aa
feat(lab-02): complete Phase 3 - Network & VPC lab
...
Implement Lab 02 with Docker bridge networks simulating VPC/Subnets.
Test Infrastructure (RED phase):
- 6 bash test scripts for network creation, isolation, INF-02 compliance
- Fail-fast orchestration with run-all-tests.sh
- Quick validation script for development
Documentation (Diátaxis framework):
- 3 tutorials: VPC creation, container deployment, isolation verification
- 4 how-to guides: create network, inspect config, test isolation, cleanup
- 3 reference docs: Docker network commands, Compose syntax, VPC mapping
- 1 explanation: Docker ↔ VPC parallels (PARA-01/02/03/04)
Infrastructure (GREEN phase):
- docker-compose.yml with VPC networks (10.0.1.0/24, 10.0.2.0/24)
- 5 services: web, app, db, test-public, test-private
- INF-02 compliant: 127.0.0.1 bindings only, no 0.0.0.0
- Private network with --internal flag
- Multi-homed app container (public + private networks)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 17:26:35 +01:00
Luca Sacchi Ricciardi
d4c4f7d717
docs: add Phase 3 validation strategy and project specifications
...
- Add 03-VALIDATION.md for Phase 3 (Lab 02 Network & VPC)
- Add CLAUDE.md v3.3 with hybrid agent-based development standards
- Add prd.md with product requirements for cloud course
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 15:55:18 +01:00
Luca Sacchi Ricciardi
dff75ef5ef
docs(03-lab-02-network-vpc): create phase plans (3 plans in 2 waves)
2026-03-25 09:17:22 +01:00
Luca Sacchi Ricciardi
ff89202c41
docs(03): research phase 3 domain - Lab 02 Network & VPC
2026-03-25 09:10:29 +01:00
Luca Sacchi Ricciardi
b99407c6e0
docs(phase-02): complete phase execution - Lab 01 IAM & Sicurezza
2026-03-24 22:35:47 +01:00