Skip to main content
Version: v0.21.0

Build process

The pnpm workspace links the APIs, UIs and shared libraries. Each component image contains its API and UI and is built with its own Dockerfile-<component> at the repository root. EMBEDDED_FRONTEND enables the bundled UI; the Docker images set it automatically and serve API routes under /api after any public subpath.

From the repository root, use the pinned pnpm version and build the libraries before starting an API:

pnpm install --frozen-lockfile
pnpm build:libs

Run a package script with pnpm --filter @apps/http-data-plane-api <script>.

Development​

Use the managed HTTP sample for the coordinated stack. App-local YAML files are individual service examples; register the exact SSO clients, receiving audiences and provisioning identities before using them. Tenant Management creates or explicitly imports participants.

First configure authenticated signaling, stable worker IDs, explicit canonical execution scopes and a persistent signing JWK. The checked-in API configuration is an example, not a provisioned participant. A worker does not register itself. Use the sample for organization provisioning and tenant-local Control Plane registrations.

VS Code settings are included for formatting and debugging. Run the relevant test scripts explicitly when checking a change.

To run the http-data-plane-ui and http-data-plane-api in watch mode use the following command:

pnpm dev:http-data-plane-api

and

pnpm dev:http-data-plane-ui

Another option is to run them in parallel by running:

pnpm dev:http-data-plane

For another local instance, copy the app's configuration to a separate file, use a distinct database and port, and register the corresponding clients and public URLs. Set CONFIG_PATH for the API and BACKEND for its UI to those addresses. A second process alone does not create another managed participant.

Docker​

Build from the repository root:

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

Run it with your configured worker file, persistent database and signing key mounted, and CONFIG_PATH pointing to that file. Publish the configured server port. The default image alone does not supply accepted execution owners, trusted SSO configuration, tenant registrations or durable credentials. See the HTTP Helm chart for the required deployment values.

Database schema migrations​

Changes to data access objects (*.dao.ts) can require migrations. Keep separate SQLite (*-sqlite.ts) and PostgreSQL (*-postgres.ts) migrations under src/migrations. Generate them and check for remaining schema changes with:

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

Back up existing databases before applying an upgrade. Schema checks do not establish that an existing participant has been imported into Tenant Management.

Continuous integration​

The GitLab pipeline builds components, runs tests and schema checks, scans dependencies and containers, and checks generated configuration and API references. Release publication uses the repository's release jobs. Consult the current pipeline definition for job rules and release parameters.