Files
osmedeus/build/docker/docker-compose.distributed-e2e.yaml
j3ssie 801583b0c8 feat: distributed E2E testing stack and improve worker/master logging
- Add Docker Compose distributed-e2e.yaml with Redis, master, and worker services
- Add Make targets: distributed-e2e-up, distributed-e2e-run, distributed-e2e-down
- Replace zap logger with terminal printer for consistent CLI output in master/worker
- Add Redis connection info and task details to startup and lifecycle logs
- Fix DNS records field: use 'dns_records' key with backward compat for 'a' key
- Add optional asset_type and source parameters to db_import_custom_asset
- Update Swagger docs for LLM embeddings schema
- Set run_uuid tracking in worker task execution for distributed runs
- Register distributed database hooks and ensure external binaries in PATH
- Improve terminal formatting with colors for worker/master IDs and log messages
2026-02-14 03:00:30 +07:00

66 lines
1.6 KiB
YAML

# Distributed E2E stack: Redis + master + worker
# Usage:
# make distributed-e2e-up # Build image + start stack + wait for health
# make distributed-e2e-run # Submit scan + tail worker logs
# make distributed-e2e-down # Tear down everything
services:
redis:
image: redis:7-alpine
container_name: osm-e2e-redis
ports:
- "6399:6379"
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 10
networks:
- osm-e2e-network
master:
build:
context: ../..
dockerfile: build/docker/Dockerfile
image: osmedeus:e2e
container_name: osm-e2e-master
ports:
- "8002:8002"
volumes:
- workspaces:/root/workspaces-osmedeus
depends_on:
redis:
condition: service_healthy
command: ["serve", "--master", "--redis-url", "redis://redis:6379", "-A"]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8002/health"]
interval: 10s
timeout: 5s
start_period: 10s
retries: 5
networks:
- osm-e2e-network
worker:
image: osmedeus:e2e
container_name: osm-e2e-worker
volumes:
- workspaces:/root/workspaces-osmedeus
depends_on:
redis:
condition: service_healthy
master:
condition: service_healthy
command: ["worker", "join", "--redis-url", "redis://redis:6379"]
networks:
- osm-e2e-network
volumes:
workspaces:
driver: local
networks:
osm-e2e-network:
driver: bridge