@x12i/countex-pipelines-server
v1.0.1
Published
Generic HTTP API for @x12i/countex-pipelines — ingest, rollup, initialize.
Readme
@x12i/countex-pipelines-server
Generic HTTP API for
@x12i/countex-pipelines.
Thin transport layer over the embedded facade. Ingest is write-through to Mongo — 200 means durably recorded.
Quick start
export MONGO_URI="mongodb://127.0.0.1:27017"
# optional: export REDIS_URL="redis://127.0.0.1:6379"
# optional: export COUNTEX_API_KEY="your-secret"
npx countex-pipelines-server
# listens on PORT (default 8787)Endpoints
| Method | Path | Body | Description |
|--------|------|------|-------------|
| GET | /healthz | — | Liveness (no auth) |
| POST | /v1/ingest | CountexIngestEvent | Record a status transition |
| POST | /v1/rollup | CountexRollupRequest | Query rollups |
| POST | /v1/initialize | { tenantId, fromCounterStore?, subjects? } | Warm hot layer from Mongo |
tenantId always comes from the request payload. Optional auth via Authorization: Bearer <key> or x-api-key header when COUNTEX_API_KEY is set.
Not exposed over HTTP: fromSource rebuild (host scan) — use the embedded library.
Programmatic use
import { createCountexFromEnv } from "@x12i/countex-pipelines";
import { startServer } from "@x12i/countex-pipelines-server";
const client = await createCountexFromEnv();
await startServer({ client, apiKey: process.env.COUNTEX_API_KEY, port: 8787 });License
MIT
