Major architectural correction based on user clarification: ARCHITECTURE CHANGES: - SLURP: Context curator service that processes Hypercore logs, filters by role/triggers, serves via SQL - HCFS: FUSE filesystem overlay embedded in sandbox Docker images, not a separate service - Agents access context transparently through filesystem operations via HCFS → SLURP DOCKER CONFIGURATION: - Renamed slurp-api → slurp-curator throughout all configurations - Created proper Dockerfiles for SLURP curator and COOEE RL tuner services - Updated environment variables to reflect curator service role - Fixed missing slurp_data volume in docker-compose.yml UPDATED FILES: - README.md: Corrected SLURP description from "Context Management" to "Context Curator Service" - docker-compose.yml: Service rename, environment updates, added missing volume - docker-compose.swarm.yml: Production deployment with correct service names - build-and-push.sh: Updated to build slurp-curator service - chorus.sh: Updated service references and endpoints - init-db.sql: Database initialization for curator service - modules/slurp/Dockerfile: New curator service container - modules/slurp/Dockerfile.rl-tuner: New COOEE RL tuner container VALIDATION: - WHOOSH submodule validated: proper Dockerfiles and dependencies present - BZZZ submodule integrated: build issues identified in original repo (requires separate fix) - All Docker configurations updated to reflect correct architecture MEMORY UPDATES: - project_overview: Updated with correct SLURP/HCFS roles and current project status - Removed references to deprecated HMMM component This commit ensures all configuration reflects the correct architectural understanding where SLURP curates context from logs and HCFS provides transparent filesystem access to that curated context within agent sandbox environments. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
159 lines
4.2 KiB
YAML
159 lines
4.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# WHOOSH - Orchestration Platform
|
|
whoosh-backend:
|
|
image: registry.home.deepblack.cloud/tony/chorus-whoosh-backend:latest
|
|
container_name: chorus_whoosh_backend
|
|
ports:
|
|
- "8087:8000"
|
|
environment:
|
|
- DATABASE_URL=postgresql://chorus:choruspass@postgres:5432/chorus_whoosh
|
|
- REDIS_URL=redis://redis:6379
|
|
- CORS_ORIGINS=http://localhost:3001,https://whoosh.home.deepblack.cloud
|
|
- ENVIRONMENT=development
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
networks:
|
|
- chorus_network
|
|
volumes:
|
|
- ./modules/whoosh/backend:/app
|
|
- ./modules/whoosh/config:/app/config
|
|
|
|
whoosh-frontend:
|
|
image: registry.home.deepblack.cloud/tony/chorus-whoosh-frontend:latest
|
|
container_name: chorus_whoosh_frontend
|
|
ports:
|
|
- "3001:3000"
|
|
environment:
|
|
- REACT_APP_API_URL=http://localhost:8087
|
|
- REACT_APP_WS_URL=ws://localhost:8087
|
|
depends_on:
|
|
- whoosh-backend
|
|
networks:
|
|
- chorus_network
|
|
volumes:
|
|
- ./modules/whoosh/frontend:/app
|
|
- /app/node_modules
|
|
|
|
# BZZZ - P2P Agent Coordination
|
|
bzzz-coordinator:
|
|
image: registry.home.deepblack.cloud/tony/chorus-bzzz-coordinator:latest
|
|
container_name: chorus_bzzz_coordinator
|
|
ports:
|
|
- "4001:4001" # libp2p port
|
|
- "8080:8080" # HTTP API port
|
|
environment:
|
|
- BZZZ_NODE_ENV=development
|
|
- BZZZ_LOG_LEVEL=info
|
|
networks:
|
|
- chorus_network
|
|
- host # Needed for P2P discovery
|
|
volumes:
|
|
- ./modules/bzzz/config:/app/config
|
|
- ./modules/bzzz/data:/app/data
|
|
|
|
# SLURP - Context Curator Service
|
|
slurp-curator:
|
|
image: registry.home.deepblack.cloud/tony/chorus-slurp-curator:latest
|
|
container_name: chorus_slurp_curator
|
|
ports:
|
|
- "8088:8000"
|
|
environment:
|
|
- SLURP_DATABASE_URL=postgresql://chorus:choruspass@postgres:5432/chorus_slurp
|
|
- SLURP_LOG_LEVEL=info
|
|
- SLURP_AUTH_ENABLED=true
|
|
- HYPERCORE_LOG_URL=http://hypercore-log:8000
|
|
- BZZZ_COORDINATOR_URL=http://bzzz-coordinator:8080
|
|
networks:
|
|
- chorus_network
|
|
volumes:
|
|
- slurp_data:/app/data
|
|
- ./modules/slurp/config:/app/config
|
|
depends_on:
|
|
- postgres
|
|
- bzzz-coordinator
|
|
|
|
# COOEE - RL Feedback System (part of SLURP)
|
|
slurp-rl-tuner:
|
|
image: registry.home.deepblack.cloud/tony/chorus-slurp-rl-tuner:latest
|
|
container_name: chorus_slurp_rl_tuner
|
|
ports:
|
|
- "8089:8000"
|
|
environment:
|
|
- RL_TUNER_DATABASE_URL=postgresql://chorus:choruspass@postgres:5432/chorus_rl_tuner
|
|
- SLURP_CURATOR_URL=http://slurp-curator:8000
|
|
- BZZZ_API_URL=http://bzzz-coordinator:8080
|
|
depends_on:
|
|
- postgres
|
|
- slurp-curator
|
|
- bzzz-coordinator
|
|
networks:
|
|
- chorus_network
|
|
|
|
# Shared Infrastructure
|
|
postgres:
|
|
image: postgres:15
|
|
container_name: chorus_postgres
|
|
environment:
|
|
- POSTGRES_DB=chorus
|
|
- POSTGRES_USER=chorus
|
|
- POSTGRES_PASSWORD=choruspass
|
|
ports:
|
|
- "5433:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./init-db.sql:/docker-entrypoint-initdb.d/init-db.sql
|
|
networks:
|
|
- chorus_network
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: chorus_redis
|
|
ports:
|
|
- "6380:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- chorus_network
|
|
|
|
# Monitoring Stack
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
container_name: chorus_prometheus
|
|
ports:
|
|
- "9092:9090"
|
|
volumes:
|
|
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
- prometheus_data:/prometheus
|
|
networks:
|
|
- chorus_network
|
|
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: chorus_grafana
|
|
ports:
|
|
- "3002:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_PASSWORD=chorusadmin
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
- ./monitoring/grafana/dashboards:/etc/grafana/provisioning/dashboards
|
|
- ./monitoring/grafana/datasources:/etc/grafana/provisioning/datasources
|
|
networks:
|
|
- chorus_network
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
prometheus_data:
|
|
grafana_data:
|
|
slurp_data:
|
|
|
|
networks:
|
|
chorus_network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16 |