Platform Facts
Single source of truth
The service registry, counts and IGNIS version below are auto-generated from the backend source (packages/* env files, ServiceCodes, the schema tree) at build time. Where any other page disagrees on a port, base path, service code or count, this page wins - fix the other page. Library and framework versions live in Application stack versions; link there, never hardcode a version on another page (the build lint blocks drift).
Service registry
| Service | Port | Base path | Snowflake | Service code |
|---|---|---|---|---|
| identity | 31010 | /v1/api/identity | 1 | SVC-00010-IDENTITY |
| commerce | 31020 | /v1/api/commerce | 2 | SVC-00020-COMMERCE |
| sale | 31030 | /v1/api/sale | 3 | SVC-00030-SALE |
| finance | 31040 | /v1/api/finance | 4 | SVC-00040-FINANCE |
| inventory | 31050 | /v1/api/inventory | 5 | SVC-00050-INVENTORY |
| ledger | 31060 | /v1/api/ledger | 6 | SVC-00060-LEDGER |
| pricing | 31070 | /v1/api/pricing | 7 | SVC-00070-PRICING |
| payment | 31080 | /v1/api/payment | 8 | SVC-00080-PAYMENT |
| signal | 31090 | /v1/api/signal | 9 | SVC-00090-SIGNAL |
| outreach | 31110 | /v1/api/outreach | 10 | SVC-00110-OUTREACH |
| helpdesk | 31032 | /v1/api/helpdesk | 0 | SVC-00120-HELPDESK |
| taxation | 31130 | /v1/api/taxation | 13 | SVC-00130-TAXATION |
| licensing | 31120 | /v1/api/licensing | 11 | SVC-00140-LICENSING |
| invoice | 1190 | /v1/api | - | SVC-00150-INVOICE |
Auto-generated from packages/* env files + ServiceCodes + the schema tree at build time - never hand-typed.
gatewayis infrastructure (portal:3003,SVC-00100-GATEWAY) with no application server port, so it is not in the generated table.invoiceruns on:1190with its Snowflake worker unset.
Messaging seam
| Channel | Used for |
|---|---|
| Kafka topics | service → service application events (e.g. PAYMENT_SUCCESS, inventory deduction, kitchen-ticket status) |
| Debezium CDC | data replication into read-models (search/Typesense, invoice tax-info, …) |
| Redis | cache · WebSocket pub/sub · some BullMQ worker queues |
Redis is not the primary event bus. Pages that describe "Redis Pub/Sub eventing" as the integration seam are from an earlier generation and are being retired in favour of Kafka + CDC.
Fixed roles
AppFixedRoles extends the IGNIS AuthorizationRoles. Custom merchant roles take any priority in the 101-499 band (between Owner and Cashier).
| Role | Constant | Priority |
|---|---|---|
| Super Admin | SUPER_ADMIN | 999 |
| Admin | ADMIN | 900 |
| Operator | OPERATOR | 600 |
| Owner | OWNER (organizer-owner) | 500 |
| Custom merchant roles | - | 101-499 |
| Cashier | CASHIER | 110 |
| Employee | EMPLOYEE | 100 |
| Customer | CUSTOMER | 10 |
| Guest | GUEST | 1 |
Application stack versions
The framework, library and tooling versions every service and app builds on - generated from the root package.json overrides (the single pin for the whole monorepo). This is the canonical version table: other pages link here (/en/developer/platform-facts#stack), they never restate a version.
| Library | Version | Role |
|---|---|---|
@venizia/ignis | 0.1.1-5 | framework |
@venizia/ignis-helpers | 0.1.1-3 | framework |
@venizia/ignis-inversion | 0.1.1-2 | framework |
hono | 4.12.30 | framework |
@hono/zod-openapi | 1.5.1 | library |
@scalar/hono-api-reference | 0.11.11 | library |
bullmq | 5.80.8 | library |
drizzle-orm | 0.45.2 | library |
drizzle-zod | 0.8.3 | library |
lucide-react | 0.575.0 | library |
pg | 8.21.0 | library |
ra-core | 5.14.2 | library |
react | 19.2.4 | library |
react-dom | 19.2.4 | library |
sonner | 2.0.7 | library |
typesense | 3.0.6 | library |
zod | 4.3.6 | library |
@venizia/dev-configs | 0.1.0 | tooling |
drizzle-kit | 0.31.10 | tooling |
tsc-alias | 1.8.17 | tooling |
typescript | 6.0.3 | tooling |
bun (engine) | >=1.3.8 | runtime |
Auto-generated from the root package.json `overrides` + `engines` - the single pin for the whole monorepo. Other pages link here, never restate a version.
Infrastructure & third-party versions
| Component | Version |
|---|---|
| PostgreSQL | 17 |
| Redis | 8 |
| Typesense | 30.131.0.rc3 |
| Apache Kafka | 4.1.14.3.0 |
| Debezium (Kafka Connect) | 3.0.0.Final3.5.2.Final |
| PgBouncer | 1.24.1 |
| PgCat | 4a7a6a8e7a… (pinned) |
| Bun (runtime) | 1.3.101.3.14 |
| Prometheus | v3.11.2v3.2.1 |
| Grafana | 13.0.1 |
| Loki | 3.7.1 |
| Traefik | v3.6 |
| NGINX Ingress | v1.12.2 |
| OpenTelemetry Collector | 0.150.1 |
| Kafka UI | v0.7.2v1.5.0 |
Auto-generated from the infrastructure/ deployment manifests. A component showing more than one version means alpha and staging differ - standardise to remove the drift.
Generated from the deployment manifests under
infrastructure/. A component showing more than one version means alpha and staging differ - standardise to remove the drift. The manifests themselves live under Infrastructure. This table is the canonical version reference - other pages should link here, not restate versions.