Skip to main content
Version: v0.21.0

Build process

The pnpm workspace links the APIs, UIs and shared libraries. The Analytics Data Plane image uses Dockerfile-analytics-data-plane and includes the API and operator UI. EMBEDDED_FRONTEND enables that UI and mounts API routes under the configured subpath plus /api.

From the repository root:

pnpm install --frozen-lockfile
pnpm build:libs
pnpm --filter @apps/analytics-data-plane-api build
pnpm --filter @apps/analytics-data-plane-ui build

Run locally​

Use the analytics sample for the complete managed Control Plane/Wallet topology, explicit owner configuration and Docker worker labels. A standalone Docker worker or split client must itself run in a verified Docker container. Starting that worker directly as a host Node.js process does not satisfy its runtime boundary.

A split server can run directly as a Node.js process because it has no local runtime:

CONFIG_PATH=/absolute/path/to/server-config.yaml pnpm dev:analytics-data-plane-api
BACKEND=http://localhost:3602 pnpm dev:analytics-data-plane-ui

The server configuration still requires explicit control-plane and worker identities, nonempty owner scopes, strict authentication and assigned bridge runners. Use separate databases and ports for separate deployments.

Build the image​

docker build -f Dockerfile-analytics-data-plane -t analytics-data-plane:local .

An image alone is insufficient to start a worker. Supply the verified container identity labels, Docker socket, explicit owner/source configuration and durable state. The sample Compose configuration contains those settings. See deployment for Docker and Kubernetes requirements. After rebuilding a running worker, drain its jobs and recreate the controller. Submit fresh jobs after restart.

Schema and generated documentation​

Changes to *.dao.ts may require SQLite and PostgreSQL migrations:

pnpm --filter @apps/analytics-data-plane-api migrations:generate
pnpm --filter @apps/analytics-data-plane-api migrations:check

Keep existing participant databases separate during upgrades. Migrations retain historical rows without inventing ownership; old unowned work stays fenced.

Regenerate current configuration and HTTP API references from the application classes:

pnpm --filter @apps/analytics-data-plane-api configDocs
pnpm --filter @apps/analytics-data-plane-api swagger

Run focused tests for the changed execution, signaling or bridge behavior. A passing build or unit suite does not verify a live Docker network, Kubernetes CNI, OAuth browser flow or completed federated job.