External Dependencies and Foundation Crates
Caber relies on a curated set of external infrastructure services, embedded storage engines, foundation Rust crates (base_utils, caber_auth, caber_storage, caber_service_log), and specialized ML and policy runtimes to deliver 40 byte WRL Chunker characterization, freshness clustering, metapolicy enforcement, and cross chain provenance. This reference explains what each dependency is, what role it plays in Caber, which functional subsystems read or write it, and how it is configured.
Figure 1: Caber Core Engine Connected to External Storage, Search, Graph, Messaging, and Identity Dependencies
1.1 shared-storage (S3 Compatible Object Store)
- Technology: Any S3 compatible object store (
AWS.s3MasterBucket=csi-mvp-masterandAWS.s3NotificationBucket=csi-s3-notification), including Amazon S3, VersityGW, MinIO, Ceph RadosGW, Cloudflare R2, or Google Cloud Storage. MinIO is an optional local development target and is not a hard dependency of Caber. - Default Ports:
9000(S3 API gateway / MinIO / VersityGW),443(Amazon S3 HTTPS). - What It Does: Serves as Caber's immutable blob and artifact backbone (
gssCORI source prefix). Every raw ingested file, parsed structural element list (elements.json), self healing parser redirect ({sha}.redirect.json), serialized.rbixand.rbixbindex sidecar, compiled governance bundle (customer/governance/<policy_digest>/andcurrent/), andVerdictSnapshot(body version 3) is stored here. - How Caber Uses It:
- Connectors and Ingest (
pycaber,S3_Scanner): Stream raw enterprise objects intocsi-mvp-masterand emit notification events viacsi-s3-notification(csi-s3event-q). - Document Parser: Reads raw objects, evaluates
Caber runtime, writes{sha}.redirect.jsonon sparse deterministic parse fallback, and persists.rbixand.rbixbsidecars. - Unified Governance (
pycaber,pycaber): Loadspolicy-set.json,data.json, andmanifest.jsonfromcustomer/governance/current/and writesVerdictSnapshot(v3) artifacts referenced byaudit.edge_verdict_snapshot_ref. - See Shared Storage Bucket Reference for the complete bucket key layout.
- Connectors and Ingest (
1.2 elastic-search (OpenSearch / Elasticsearch)
- Technology: OpenSearch
2.x(compatible with Elasticsearch8.x). - Default Ports:
9200(REST API),9600(Performance Analyzer). - What It Does: Provides full text search, document metadata indexing, pairwise similarity matrix storage, W3C OpenTelemetry trace persistence, API discovery cataloging (
csi_api_map), service log storage (csi_service_log), and real time policy decision audit logging (csi_edge_auth) across 33 physical indices mapped viaGLOBAL.dbTables. - How Caber Uses It:
caber-coreandcaber-hub: Writecsi_objects_map_rust,csi_link_data_rust,csi_doc_graph,csi_edge_auth,csi_api_events,csi_api_map(via single writerApiMapMinterwith a 5 attempt CAS loop driven bycsi_api_map_merge_policy.json), andcsi_service_log.CaberUserConsoleBFF (server/services/opensearch.ts): Queries OpenSearch to populate the Executive Dashboard, Unified Audit waterfall, and Compliance matrices.
1.3 neo4j (Neo4j Graph Database)
- Technology: Neo4j
5.xwith APOC and Graph Data Science (GDS) plugins. - Default Ports:
7687(Bolt protocol),7474(HTTP Browser). - What It Does: Stores Caber's unified Lineage and Context Graph constructed by
pycaber(v3.9.2) across 10 node labels (Entity,Edge,Data,Region,Object,Bucket,Service,API,Host, andRedaction:OboRedaction) and 21 schema indexes (19 Range indexes and 2 FullText indexes:entityTextIndexanddataAttrIndex). - How Caber Uses It:
- Structural vs Behavioral Topology: Maintains both
Service-[:OF]->Host<-[:OF]-API(structural residency) andService-[:CALLS]->API(behavioral invocation) without collapsing them. - Hierarchical Region Trees: Reconstructs
Document -> Section -> Paragraph:Regionhierarchies and attaches Decision E7 NER rollup attributes (region.ner.labels,region.ner.entity_count).
- Structural vs Behavioral Topology: Maintains both
1.4 postgres-db (PostgreSQL)
- Technology: PostgreSQL
16+. - Default Port:
5432. - What It Does: Provides transactional relational storage (
ACID) forobo_db(v2, storing On Behalf Of delegation records, originator attribution, and token nonces) anddashboard_logs(CaberUserConsoleRBAC accounts, policy studio drafts, and alert subscriptions). - Note on Decommissioned Stores: Analytical DuckDB and ClickHouse stores are disabled and removed from the active runtime (
Option<()>).
1.5 message-queue (SQS / RabbitMQ) and kafka-zookeeper (Apache Kafka)
- Technology: AWS SQS (or ElasticMQ / LocalStack in local split mode), RabbitMQ
3.13+(5672AMQP), and Apache Kafka (9092). - What They Do: In
Splitdeployment personalities (InternalandExternal), work queues (csi-parse-q,csi-link-q,csi-graph-q,csi-auth-q,csi-api-q,csi-s3event-q) carryPayload.Recordenvelopes withpayload.record.v1capability negotiation. InStandalonemode (caber-hub), in processtokio::sync::mpscFoldchannels replace external queues.
4. Production Resilience and Sizing Guidance
| Dependency | Minimum Production Spec | Backup and Recovery Strategy | High Availability Architecture |
|---|---|---|---|
| OpenSearch | 3 master, 4 data nodes (64 GB RAM, 16 vCPU) | Automated snapshot repository to S3 bucket daily | Multi AZ cluster with 1 primary and 1 replica shard per index |
| Neo4j | 3 node Causal Cluster (32 GB RAM, 8 vCPU) | Continuous transaction log archiving and neo4j-admin backup | Raft based leader with read follower replicas |
| S3 Compatible Object Store | 4 node distributed cluster or AWS S3 Standard | Object versioning enabled with S3 Cross Region Replication | Distributed erasure coding (EC:4) or cloud native replication |
| PostgreSQL | 1 primary, 1 standby (16 GB RAM, 4 vCPU) | WAL archiving to S3 via pgBackRest with point in time recovery | Streaming replication with Patroni and etcd auto failover |
RocksDB (roaring_index.db) | Local NVMe SSD mount (1 TB, IOPS 10000) | Periodic hot checkpoints (tar.zst) to shared-storage | Rebuilt deterministically from .rbix and .rbixb shards if destroyed |