@@ -39,7 +39,7 @@ services:
3939 - EVIDRA_BENCH_SERVICE_URL=http://bench-cli:8090
4040 - EVIDRA_SELF_URL=http://evidra-api:8080
4141 # LLM provider API keys — models with a set key appear as available in the UI.
42- - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-${LLM_API_KEY:-} }
42+ - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
4343 - OPENAI_API_KEY=${OPENAI_API_KEY:-}
4444 - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
4545 - GEMINI_API_KEY=${GEMINI_API_KEY:-}
@@ -58,8 +58,6 @@ services:
5858 depends_on :
5959 evidra-api :
6060 condition : service_started
61- # Note: healthcheck removed — distroless image has no shell/curl/wget.
62- # The service is healthy when it starts accepting MCP connections.
6361
6462 agentgateway :
6563 image : cr.agentgateway.dev/agentgateway:0.11.1
@@ -88,7 +86,6 @@ services:
8886 restart : " no"
8987
9088 # K3d cluster setup — creates or reuses a K3s cluster on the compose network.
91- # No external network needed — k3d joins the default network via --network flag.
9289 # docker compose run --rm k3d-setup
9390 k3d-setup :
9491 image : ghcr.io/k3d-io/k3d:5-dind
@@ -102,7 +99,9 @@ services:
10299 - ./demo/k3d/setup.sh:/setup/setup.sh:ro
103100 - kubeconfig:/output
104101
105- # Bench service — runs scenarios via provider mode (built-in LLM agent loop).
102+ # Bench service — orchestrates scenario execution.
103+ # For A2A runs: delegates to kagent via INFRA_BENCH_A2A_AGENT_URL.
104+ # For direct runs: uses its own agent loop via DashScope (all models).
106105 bench-cli :
107106 image : ${BENCH_IMAGE:-ghcr.io/vitas/bench-cli:0.5.7}
108107 environment :
@@ -113,12 +112,11 @@ services:
113112 - KUBECONFIG=/kube/config
114113 - INFRA_BENCH_SCENARIOS_DIR=/scenarios
115114 - INFRA_BENCH_PROVIDER=${BENCH_PROVIDER:-bifrost}
116- - INFRA_BENCH_MODEL=${KAGENT_MODEL:-deepseek-chat}
117115 - INFRA_BENCH_MCP_SERVER=evidra-mcp --signing-mode optional -url http://evidra-api:8080 -api-key ${EVIDRA_API_KEY:-dev-api-key}
118116 - INFRA_BENCH_CLUSTER_NAME=${DEMO_CLUSTER_NAME:-evidra-demo}
119117 - INFRA_BENCH_REUSE_CLUSTER=true
120118 - INFRA_BENCH_PARALLEL=${BENCH_PARALLEL:-1}
121- - INFRA_BENCH_BIFROST_URL=${LLM_BASE_URL:-https://api.deepseek .com/v1}
119+ - INFRA_BENCH_BIFROST_URL=${LLM_BASE_URL:-https://dashscope-intl.aliyuncs .com/compatible-mode /v1}
122120 - EVIDRA_BIFROST_AUTH_BEARER=${LLM_API_KEY:-}
123121 - INFRA_BENCH_A2A_AGENT_URL=http://kagent:8080
124122 volumes :
@@ -138,11 +136,10 @@ services:
138136 start_period : 30s
139137
140138 # Bench UI — certification/leaderboard viewer, served under /lab/ via Traefik.
141- # Pre-built with demo settings (localhost:28080, /lab/ base path).
142139 bench-ui :
143140 image : ${BENCH_UI_IMAGE:-ghcr.io/vitas/bench-ui:demo}
144141
145- # kagent — Google ADK-based K8s agent, benchmarked via agentgateway + evidra-mcp.
142+ # kagent — Google ADK agent, certified via A2A through AgentGateway + evidra-mcp.
146143 kagent :
147144 build :
148145 context : ./demo/kagent
@@ -152,11 +149,11 @@ services:
152149 - KAGENT_NAME=demoagent
153150 - KAGENT_NAMESPACE=demo
154151 - KAGENT_MCP_URL=http://agentgateway:3000/mcp/http
155- - KAGENT_MODEL=${KAGENT_MODEL:-deepseek-chat }
152+ - KAGENT_MODEL=${KAGENT_MODEL:-gemini-2.5-flash }
156153 - KAGENT_MODEL_PROVIDER=${KAGENT_MODEL_PROVIDER:-openai}
157- - OPENAI_BASE_URL=${LLM_BASE_URL:-}
158- - OPENAI_API_KEY=${LLM_API_KEY:-}
159- - DEEPSEEK_API_KEY =${LLM_API_KEY :-}
154+ - OPENAI_BASE_URL=${KAGENT_BASE_URL:-${ LLM_BASE_URL:-} }
155+ - OPENAI_API_KEY=${KAGENT_API_KEY:-${ LLM_API_KEY:-} }
156+ - GEMINI_API_KEY =${GEMINI_API_KEY :-}
160157 - KAGENT_TOOL_ALLOW_LIST=${KAGENT_TOOL_ALLOW_LIST:-}
161158 - KAGENT_SYSTEM_PROMPT_FILE=/demo/prompts/kagent-${DEMO_RUN_LABEL:-before}.md
162159 volumes :
0 commit comments