113 lines
3.2 KiB
YAML
113 lines
3.2 KiB
YAML
# @ruvector/edge-net Integration Test Environment
|
|
#
|
|
# Tests real credit flow with 3 contributor containers and 1 consumer.
|
|
# Verifies:
|
|
# - Contributors earn credits for CPU work
|
|
# - Jobs are distributed to contributors (not local)
|
|
# - Credits are correctly debited from consumer
|
|
# - Credits are correctly credited to contributors
|
|
# - Ledger accounting is accurate
|
|
#
|
|
# Usage:
|
|
# docker-compose -f tests/docker-compose.test.yml up -d
|
|
# docker-compose -f tests/docker-compose.test.yml logs -f
|
|
# docker-compose -f tests/docker-compose.test.yml down -v
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
# ============================================
|
|
# Contributor 1 - 50% CPU
|
|
# ============================================
|
|
contributor-1:
|
|
build:
|
|
context: ../pkg
|
|
dockerfile: ../tests/Dockerfile.contributor
|
|
container_name: edge-net-contributor-1
|
|
environment:
|
|
- CONTRIBUTOR_ID=contributor-1
|
|
- CPU_LIMIT=50
|
|
- RELAY_URL=wss://edge-net-relay-875130704813.us-central1.run.app
|
|
- LOG_LEVEL=info
|
|
volumes:
|
|
- contributor-1-data:/root/.ruvector
|
|
networks:
|
|
- edge-net-test
|
|
restart: unless-stopped
|
|
|
|
# ============================================
|
|
# Contributor 2 - 40% CPU
|
|
# ============================================
|
|
contributor-2:
|
|
build:
|
|
context: ../pkg
|
|
dockerfile: ../tests/Dockerfile.contributor
|
|
container_name: edge-net-contributor-2
|
|
environment:
|
|
- CONTRIBUTOR_ID=contributor-2
|
|
- CPU_LIMIT=40
|
|
- RELAY_URL=wss://edge-net-relay-875130704813.us-central1.run.app
|
|
- LOG_LEVEL=info
|
|
volumes:
|
|
- contributor-2-data:/root/.ruvector
|
|
networks:
|
|
- edge-net-test
|
|
restart: unless-stopped
|
|
|
|
# ============================================
|
|
# Contributor 3 - 30% CPU
|
|
# ============================================
|
|
contributor-3:
|
|
build:
|
|
context: ../pkg
|
|
dockerfile: ../tests/Dockerfile.contributor
|
|
container_name: edge-net-contributor-3
|
|
environment:
|
|
- CONTRIBUTOR_ID=contributor-3
|
|
- CPU_LIMIT=30
|
|
- RELAY_URL=wss://edge-net-relay-875130704813.us-central1.run.app
|
|
- LOG_LEVEL=info
|
|
volumes:
|
|
- contributor-3-data:/root/.ruvector
|
|
networks:
|
|
- edge-net-test
|
|
restart: unless-stopped
|
|
|
|
# ============================================
|
|
# Test Runner / Consumer
|
|
# ============================================
|
|
test-runner:
|
|
build:
|
|
context: ../pkg
|
|
dockerfile: ../tests/Dockerfile.test-runner
|
|
container_name: edge-net-test-runner
|
|
environment:
|
|
- RELAY_URL=wss://edge-net-relay-875130704813.us-central1.run.app
|
|
- LOG_LEVEL=debug
|
|
- CONTRIBUTORS=contributor-1,contributor-2,contributor-3
|
|
volumes:
|
|
- test-results:/results
|
|
- ../tests:/app/tests:ro
|
|
networks:
|
|
- edge-net-test
|
|
depends_on:
|
|
- contributor-1
|
|
- contributor-2
|
|
- contributor-3
|
|
|
|
# ============================================
|
|
# Networks
|
|
# ============================================
|
|
networks:
|
|
edge-net-test:
|
|
driver: bridge
|
|
|
|
# ============================================
|
|
# Volumes
|
|
# ============================================
|
|
volumes:
|
|
contributor-1-data:
|
|
contributor-2-data:
|
|
contributor-3-data:
|
|
test-results:
|