Some checks failed
deploy / deploy (push) Failing after 2s
Proof: Implement the active turn for pre-credit funding visibility and durable operator alerts while keeping spendable inventory truth limited to bridge/verifier credit. Assumptions: The BTC deposit handle can be observed through a mempool.space-compatible API, bridge recent_deposits remains the credit truth for correlation, and pausing market-reference-ingest or inventory-sync briefly for alert validation is safe without disarming strategy or executor. Still fake: Gnosis pre-credit observation is not implemented, executor failure alert validation may still depend on an existing real failure unless a separate live failure is explicitly approved, and a new live deposit is still required to prove a fresh pre-credit-to-credit path if no suitable recent funding exists.
135 lines
3.1 KiB
YAML
135 lines
3.1 KiB
YAML
# Local/dev runtime reference for the active implementation turn.
|
|
services:
|
|
redpanda:
|
|
image: docker.redpanda.com/redpandadata/redpanda:v24.3.9
|
|
command:
|
|
- redpanda
|
|
- start
|
|
- --overprovisioned
|
|
- --smp
|
|
- "1"
|
|
- --memory
|
|
- "1G"
|
|
- --reserve-memory
|
|
- "0M"
|
|
- --node-id
|
|
- "0"
|
|
- --check=false
|
|
- --kafka-addr
|
|
- internal://0.0.0.0:9092,external://0.0.0.0:19092
|
|
- --advertise-kafka-addr
|
|
- internal://redpanda:9092,external://127.0.0.1:19092
|
|
- --pandaproxy-addr
|
|
- internal://0.0.0.0:8082
|
|
- --advertise-pandaproxy-addr
|
|
- internal://redpanda:8082
|
|
ports:
|
|
- "127.0.0.1:19092:19092"
|
|
volumes:
|
|
- redpanda-data:/var/lib/redpanda/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "rpk cluster health | grep -q 'Healthy: *true'"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 20s
|
|
|
|
postgres:
|
|
image: postgres:16-bookworm
|
|
environment:
|
|
POSTGRES_DB: unrip
|
|
POSTGRES_USER: unrip
|
|
POSTGRES_PASSWORD: unrip
|
|
ports:
|
|
- "127.0.0.1:15432:5432"
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U unrip -d unrip"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
near-intents-ingest:
|
|
build: .
|
|
command: ["node", "src/apps/near-intents-ingest.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
market-reference-ingest:
|
|
build: .
|
|
command: ["node", "src/apps/market-reference-ingest.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
liquidity-manager:
|
|
build: .
|
|
command: ["node", "src/apps/liquidity-manager.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
volumes:
|
|
- liquidity-state:/var/lib/unrip/liquidity-state
|
|
|
|
inventory-sync:
|
|
build: .
|
|
command: ["node", "src/apps/inventory-sync.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
history-writer:
|
|
build: .
|
|
command: ["node", "src/apps/history-writer.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
postgres:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
ops-sentinel:
|
|
build: .
|
|
command: ["node", "src/apps/ops-sentinel.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
strategy-engine:
|
|
build: .
|
|
command: ["node", "src/apps/strategy-engine.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
trade-executor:
|
|
build: .
|
|
command: ["node", "src/apps/trade-executor.mjs"]
|
|
env_file: [.env]
|
|
depends_on:
|
|
redpanda:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
volumes:
|
|
- executor-state:/var/lib/unrip/executor-state
|
|
|
|
volumes:
|
|
redpanda-data:
|
|
postgres-data:
|
|
executor-state:
|
|
liquidity-state:
|