This directory contains the application layer of the OADA reference server.
It is a [Yarn workspaces][] monorepo using [Plug'n'Play (PnP)][] with Node.js
>=24.0.0.
services/*: OADA microservices (HTTP/API handlers, auth, startup jobs, etc).libs/*: shared runtime libraries used by the services.tests/: integration-style test package.oada.config.mjs: default runtime configuration used by services.
- Services are written in JavaScript/TypeScript for Node.js.
- Service-to-service communication uses Kafka-compatible brokers (Redpanda by default in local compose).
- Persistent storage is ArangoDB.
- Local orchestration is defined at repo root in
docker-compose.ymlandcommon.yml.
- Node.js
>=24.0.0 - Yarn 4 (
packageManageris pinned inpackage.json) - Docker (for local full-stack runs via repo root compose files)
Run these from oada/.
yarn buildBuilds all workspaces in dependency/topological order.
yarn workspaces foreach -Apt run testRuns test scripts across workspaces that define one.
Target a single workspace while iterating:
yarn workspace @oada/http-handler run build
yarn workspace @oada/http-handler run testauthhttp-handlerpermissions-handlerrev-graph-updatesharesstartupsync-handleruserswebhookswell-knownwrite-handler
lib-arangodblib-configlib-kafkalib-prommodelspino-debug
Each workspace has a package-level README.md for package-specific scripts and
responsibilities.
Workspace bin entries in a package package.json are exposed as
administrative CLI commands (outside of the OADA HTTP API).
Examples:
@oada/usersexposesadd@oada/authexposesclientandtoken
- Root deployment guide:
../README.md - Contributor guidance:
../AGENTS.md - Integration tests package docs:
tests/README.md