All checks were successful
deploy / deploy (push) Successful in 21s
Proof: Strategy and executor arm state now survives pod restarts through durable control-state files mounted in their service state directories. Assumptions: The strategy-state PVC can be seeded before the first rollout restart, and both service state directories remain writable on the cluster. Still fake: Armed-state durability is local to the cluster volumes; there is no cross-cluster or database-backed operator control-state replication.
138 lines
3.2 KiB
YAML
138 lines
3.2 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
|
|
volumes:
|
|
- strategy-state:/var/lib/unrip/strategy-state
|
|
|
|
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:
|
|
strategy-state:
|
|
executor-state:
|
|
liquidity-state:
|