Files

62 lines
2.0 KiB
YAML

services:
control-plane:
build:
context: ../../..
dockerfile: deployments/docker/Dockerfile.control-plane
container_name: hanzo-agents-control-plane-local
environment:
HANZO_AGENTS_STORAGE_MODE: local
HANZO_AGENTS_PORT: 8080
HANZO_AGENTS_CONFIG_FILE: /etc/hanzo-agents/hanzo-agents-test.yaml
HANZO_AGENTS_HOME: /data/hanzo-agents
ports:
- "8080:8080"
volumes:
- control-plane-data:/data
- ../docker/hanzo-agents-test.yaml:/etc/hanzo-agents/hanzo-agents-test.yaml:ro
networks:
- hanzo-agents-test
command: ["server", "--port", "8080", "--config", "/etc/hanzo-agents/hanzo-agents-test.yaml", "--vc-execution"]
test-runner:
build:
context: ../../..
dockerfile: tests/functional/docker/Dockerfile.test-runner
container_name: hanzo-agents-test-runner-local
environment:
HANZO_AGENTS_SERVER: http://control-plane:8080
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY}
OPENROUTER_MODEL: ${OPENROUTER_MODEL:-openrouter/google/gemini-2.5-flash-lite}
STORAGE_MODE: local
PYTEST_MARK_EXPR: ${PYTEST_MARK_EXPR:-}
PYTEST_ARGS: ${PYTEST_ARGS:--v}
TEST_TIMEOUT: ${TEST_TIMEOUT:-300}
TEST_AGENT_BIND_HOST: ${TEST_AGENT_BIND_HOST:-0.0.0.0}
TEST_AGENT_CALLBACK_HOST: ${TEST_AGENT_CALLBACK_HOST:-test-runner}
FUNCTIONAL_LOG_FILE: /tests/functional/logs/functional-tests.log
HANZO_AGENTS_HOME: /tmp/hanzo-agents-cli
volumes:
- ../:/tests
depends_on:
- control-plane
networks:
- hanzo-agents-test
working_dir: /tests
command: >
sh -c "
echo 'Waiting for control plane to be fully ready...' &&
wait-for-services.sh &&
if [ -n \"$$PYTEST_MARK_EXPR\" ]; then
pytest -n auto -m \"$$PYTEST_MARK_EXPR\" $$PYTEST_ARGS --junit-xml=/reports/junit-local.xml --tb=short;
else
pytest -n auto $$PYTEST_ARGS --junit-xml=/reports/junit-local.xml --tb=short;
fi
"
networks:
hanzo-agents-test:
driver: bridge
volumes:
control-plane-data: