Skip to content

What is MapexOS? ​

MapexOS is a modular, multi-tenant, event-driven IoT platform designed to ingest, normalize, route, and automate data at high scale.
It provides a consistent operational backbone to connect devices, gateways, and third‑party systems—without rebuilding integrations from scratch every time.

MapexOS unifies how data enters your platform and what happens next:

Ingest → Validate → Transform → Route → Store → Automate


What MapexOS enables ​

MapexOS is built to help teams run IoT operations with speed, governance, and performance:

  • Protocol-ready ingestion (HTTP and MQTT in v1.0.0)
  • Standardized event payloads across all sources
  • Template-driven integrations with reusable scripts (decode → validate → transform)
  • Event fan-out routing to multiple services and destinations
  • Business automation through rules and triggers
  • Traceability via persistent execution logs and auditing
  • Multi-tenant governance through organization hierarchy + roles

Architecture at a glance (v1.0.0) ​

MapexOS is composed of dedicated services that scale independently:

  • MapexOS Core: organization tree, users, groups, and roles (multi-tenant governance)
  • HTTP Gateway: secure ingestion via multiple auth types (API key, JWT, IP allowlist, OAuth2, etc.)
  • MQTT Ingestion (NATS Leaf): distributed ingestion layer validated by Asset Server
  • Asset Server: asset inventory + identity/location metadata + integration templates + EVA dynamic field extraction
  • Router Server: dispatches events to internal services with optional lightweight validation
  • Events Service: subscribes to events via NATS and stores/query events using EVA, with configurable per-tenant data retention (TTL)
  • Rule Engine: reusable rules + business rule instances with parameterization
  • Triggers Server: executes technical and communication triggers (HTTP, NATS, Slack, Teams, email, etc.)
  • JS Execution: secure JavaScript execution using V8 isolates + multi-level caching

Standardized payload schema ​

All ingestion paths converge to a single normalized event structure:

ts
const ZodStandardizedPayloadSchema = z.object({
  eventType: StringAndNotBeEmpty,
  eventId: StringAndNotBeEmpty,
  data: ObjectAndNotBeEmpty,
  metadata: ObjectAndNotBeEmpty.optional(),
  created: StringAndNotBeEmpty,
});

This consistency makes events predictable, searchable, and compatible across services.


How MapexOS processes an event ​

A single event moves through a consistent pipeline:

Payload → Decode → Validate → Transform → Route → Execute → Store / Notify / Automate

This makes it possible to integrate many sources while keeping the platform stable and scalable.


Execution and performance (JS templates) ​

MapexOS supports modern ES6+ scripts for integration logic inside templates—executed securely using V8 isolate sandboxing.

Key features include:

  • V8 Isolate Sandboxing for safe execution boundaries
  • Isolate Pooling to reuse execution contexts efficiently
  • Bytecode Compilation for fast startup
  • Multi-level caching for predictable performance:
    • L0: RAM
    • L1: NVMe/SSD
    • L2: MinIO/S3
    • Fallback: on-demand compilation

Deployment and licensing ​

MapexOS is designed to be deployed as self-hosted infrastructure.

It is released under BSL 1.1, which allows you to:

  • run MapexOS internally
  • read and modify the source code

But you must not offer MapexOS as a SaaS / managed cloud service.
Cloud distribution is reserved for Mapex.


Where to go next ​

  • Learn why MapexOS exists and the business impact: Why MapexOS?
  • Explore practical scenarios: Use Cases
  • Review what is coming next: Roadmap

Business Source License (BSL 1.1)