Commit Graph

12 Commits

Author SHA1 Message Date
Luca Sacchi Ricciardi 29024e887f Fix: Replace grep commands with docker inspect commands and remove ideograms 2026-04-16 17:12:10 +02:00
Luca Sacchi Ricciardi 54d0cc2c49 Fix: Add sleep delay after docker compose up to wait for PostgreSQL to be ready 2026-04-16 17:06:15 +02:00
Luca Sacchi Ricciardi b011892e97 Fix: Add -it flags to docker run commands for interactive PostgreSQL client access in lab-05-database 2026-04-16 16:41:03 +02:00
Luca Sacchi Ricciardi 478e940b43 feat: add targeted lab preparation workflow 2026-04-10 14:50:06 +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 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 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 dceefe0573 refactor: replace deprecated docker-compose with docker compose across repository 2026-04-09 12:15:00 +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 16ddb802ad feat(01-02): create lab directory structure with placeholder READMEs
- Created labs/ directory with 5 lab subdirectories
- Created how-to-guides/ and reference/ directories
- Added placeholder README.md in each lab directory
2026-03-24 19:54:51 +01:00