Skip to content

Latest commit

Β 

History

History
111 lines (95 loc) Β· 7.2 KB

File metadata and controls

111 lines (95 loc) Β· 7.2 KB

OpenFoundry Architecture

The canonical technical documentation lives in docs/. This file is a short top-level overview; for runtime detail follow the links below.

Stack at a glance

  • Backend: Go (single module rooted at github.com/openfoundry/openfoundry-go) with 41 service binaries under services/ and 32 shared packages under libs/.
  • Frontend: React 19 + Vite + TypeScript in apps/web/.
  • Contracts: Protobuf in proto/, Go code generated to libs/proto-gen/ via buf (run make gen).
  • SDKs: TypeScript / Python / Java in sdks/, generated from the proto + OpenAPI surface.
  • Storage: Postgres (CNPG + PgBouncer), Cassandra, Kafka (Strimzi
    • MM2), Iceberg (Lakekeeper), Vespa (search + RAG), Temporal (workflow), Ceph S3.
  • Infra: Helm + ArgoCD + Terraform under infra/.

For agent-facing onboarding (commands, gotchas, what NOT to read), see the root CLAUDE.md.

Service grouping

Services are grouped into Helm releases ("ownership boundaries") rather than physically merged crates. The current grouping:

                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚  apps/web (React 19 + Vite) β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚  of-platform      β”‚  of-data-engine   β”‚  of-ontology         β”‚  of-ml-aip          β”‚
   β”‚  edge-gateway     β”‚  connector-mgmt   β”‚  ontology-definition β”‚  model-catalog      β”‚
   β”‚  identity-fed.    β”‚  ingestion-repl   β”‚  ontology-actions    β”‚  model-deployment   β”‚
   β”‚  authorization    β”‚  dataset-versioni β”‚  ontology-query      β”‚  agent-runtime      β”‚
   β”‚  tenancy-orgs     β”‚  lineage          β”‚  object-database     β”‚  llm-catalog        β”‚
   β”‚                   β”‚  media-sets       β”‚  ontology-indexer*   β”‚  retrieval-context  β”‚
   β”‚                   β”‚  pipeline-build   β”‚                      β”‚  ai-evaluation      β”‚
   β”‚                   β”‚  sql-bi-gateway   β”‚                      β”‚  ai-sink*           β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚  of-apps-ops                                    β”‚
                β”‚  application-composition  notebook-runtime      β”‚
                β”‚  ontology-exploratory     solution-design       β”‚
                β”‚  workflow-automation      notification-alerting β”‚
                β”‚  audit-compliance + audit-sink*                 β”‚
                β”‚  telemetry-governance                           β”‚
                β”‚  federation-product-exchange                    β”‚
                β”‚  code-repository-review   sdk-generation        β”‚
                β”‚  entity-resolution                              β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Cassandraβ”‚ Postgres  β”‚  Kafka   β”‚ Iceberg β”‚ Vespa   β”‚ Temporal  β”‚ Ceph (S3)   β”‚
   β”‚          β”‚ (CNPG +   β”‚ (Strimzi β”‚ (Lake-  β”‚ (search β”‚ (workflow β”‚ (multisite) β”‚
   β”‚          β”‚  PgBoun)  β”‚  + MM2)  β”‚  keeper)β”‚  + RAG) β”‚  engine)  β”‚             β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

   * = Kafka sinks (counted separately from ownership boundaries).

The grouping is consolidation by ownership and Helm release, not a claim that the source tree has been physically merged. The ownership boundaries are defined in docs/architecture/adr/ADR-0030-service-consolidation-30-targets.md and the per-service status lives in docs/architecture/service-consolidation-map.md.

Recommended entry points

Cross-cutting invariants

These contracts are pinned by tests in libs/core-models/**/*_test.go and must not drift:

  • /healthz payload shape (status, service, version, timestamp).
  • JWT claims field names + JSON tags (libs/auth-middleware/claims.go).
  • Dataset RID format ri.foundry.main.dataset.<uuid-v7>.
  • Transaction state / type tokens (open|committed|aborted, snapshot|append|update|delete).
  • Marking source discriminator ({"kind": "direct"} / {"kind": "inherited_from_upstream", ...}).
  • Media reference camelCase keys (mediaSetRid, mediaItemRid, branch, schema).
  • Schema field type discriminator ({"type": "DECIMAL", "precision": ..., "scale": ...}).

Bounded contexts (deeper reading)

Domain Service / library README
Identity & federation services/identity-federation-service README
Authorization (Cedar/ABAC/RBAC) services/authorization-policy-service README
Datasets, branches, transactions services/dataset-versioning-service README
Media sets services/media-sets-service README
Ontology kernel (shared) libs/ontology-kernel CLAUDE.md
AI kernel (shared) libs/ai-kernel-go CLAUDE.md
Edge / proxy services/edge-gateway-service README
Audit pipeline libs/audit-trail, services/audit-sink README