-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.smoke.yml
More file actions
62 lines (60 loc) · 2.34 KB
/
docker-compose.smoke.yml
File metadata and controls
62 lines (60 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
## smoke test specific compose.
## includes runner which contains both a tiny embedded MCP server (Streamable HTTP,
## exposes a single `add` tool) and a test driver. It logs into Chronos,
## registers the MCP server and an HTTP agent, then opens an MCP
## Streamable HTTP session against `/api/v1/mcp-gateway/:agentId` with
## the new agent's MCP gateway token and asserts a `tools/call` result.
##
## Ho to run:
##
## docker build -f Dockerfile.local -t chronos:local ..
## docker compose -f docker-compose.smoke.yml up \
## --abort-on-container-exit --exit-code-from smoke-runner
##
## Exits 0 on success, non-zero on assertion failure.
##
services:
chronos:
image: chronos:local
environment:
DATABASE_TYPE: postgres
DATABASE_HOST: postgres
DATABASE_PORT: 5432
DATABASE_NAME: chronos
DATABASE_USER: chronos
DATABASE_PASSWORD: secret
CHRONOS_INITIAL_USER: admin@admin.com:test1234:admin
DEBUG: true
LOG_SANITIZE_HEADER_FIELDS: authorization,x-api-key,x-auth-token,cookie
LOG_SANITIZE_BODY_FIELDS: password,pwd,pass,secret,token,apikey,api_key,accesstoken,access_token,refreshtoken
ENABLE_AGENTS: 'true'
ENABLE_MCP_SERVERS: 'true'
ALLOW_LOOPBACK_AGENTS: 'true'
MCP_SERVER_HEALTH_POLL_INTERVAL_MS: '2000'
ports:
- '3001:3000'
depends_on:
- postgres
postgres:
image: postgres:15
environment:
POSTGRES_DB: chronos
POSTGRES_USER: chronos
POSTGRES_PASSWORD: secret
smoke-runner:
build:
context: ./fixtures/smoke-runner
environment:
CHRONOS_BASE_URL: http://chronos:3000
CHRONOS_USER_EMAIL: admin@admin.com
CHRONOS_USER_PASSWORD: test1234
## Where the test driver mounts the embedded MCP server. Chronos
## reaches it via the docker network.
MCP_BIND_PORT: '7800'
MCP_PUBLIC_URL: http://smoke-runner:7800/mcp
## Where the test driver mounts an agent /health stub so the
## agent registration's serviceEndpoint passes URL validation.
AGENT_BIND_PORT: '8001'
AGENT_PUBLIC_URL: http://smoke-runner:8001
depends_on:
- chronos