e3eeba4650
Phase 1 of resilience testing design doc implementation: - New musicfs-test-utils crate with FaultyOrigin, FaultyCasStore, fixtures - Failpoints instrumented in musicfs-cas/store.rs - 16 resilience tests (13 RED for missing features, 3 GREEN for existing) - 3 Docker/Toxiproxy network tests (RED until docker-compose up) - docker-compose.yml for Toxiproxy + MinIO + SFTP test infrastructure Tests properly fail-first (TDD): check_all() sequential, no health timeout, missing corruption detection, no passthrough mode, etc.
41 lines
844 B
YAML
41 lines
844 B
YAML
services:
|
|
toxiproxy:
|
|
image: ghcr.io/shopify/toxiproxy:2.9.0
|
|
ports:
|
|
- "8474:8474"
|
|
- "20000-20010:20000-20010"
|
|
healthcheck:
|
|
test: ["CMD", "/toxiproxy-cli", "list"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 3
|
|
|
|
minio:
|
|
image: minio/minio:latest
|
|
command: server /data --console-address ":9001"
|
|
ports:
|
|
- "9000:9000"
|
|
- "9001:9001"
|
|
environment:
|
|
MINIO_ROOT_USER: test
|
|
MINIO_ROOT_PASSWORD: testtest123
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 3
|
|
volumes:
|
|
- minio-data:/data
|
|
|
|
sftp:
|
|
image: atmoz/sftp:latest
|
|
ports:
|
|
- "2222:22"
|
|
command: test:test:::music
|
|
volumes:
|
|
- sftp-data:/home/test/music
|
|
|
|
volumes:
|
|
minio-data:
|
|
sftp-data:
|