Skip to content

Architecture Overview

Orbital follows the principle that everything is an Ørb. System functionality, user applications, and integrations are all defined declaratively as Ørbs with modules, schemas, and API routes.

  • Platform provides the composable building blocks
  • Built-in handlers implement core business logic
  • NATS RPC enables optional extensions without code changes
  • NATS JetStream is the backbone - all state lives in streams

A fresh Orbital installation ships with six core components. Together, these form the minimal setup required to define Ørbs, expose their data in a controlled way, and enable cross-Ørb composition.

  • Core Message Library
    A shared Go library used across the platform to create, validate, version, and transition Messages. All Ørbs rely on this library when reading or writing Messages, regardless of category or lifecycle.

  • Ørbs
    A system Ørb responsible for managing Ørbs and their Module configurations. Ørb configurations define a namespace, and its Modules, which in turn defines the Message categories and subjects which may be exposed to the rest of the system.

  • Localization
    A system Ørb responsible for managing market and localization data. It maintains the global set of countries and regions and defines how markets are structured and resolved across the platform.

  • Registry
    A system Ørb acting as a central discovery and mediation layer. On startup, the Registry consumes Ørb configurations and analyzes their stream structures and schemas to determine which subjects are explicitly allowed to be shared.

    The Registry does not store or replicate data from other Ørbs. Instead, it exposes addresses to shared subjects, making them visible in the Back Office. This allows users to reference entries from other Ørbs in a controlled and explicit way, without introducing direct coupling between Ørbs.

flowchart TD

 %% System Orbs
 ORBS["Ørbs"]
 LOC["Localization"]

 %% Streams
 ORB_STREAM[(Ørb Config Stream)]
 LOC_STREAM[(Localization Stream)]

 %% Registry
 REG["Registry"]

 %% Back Office
 BO["Back Office UI"]

 %% Configuration flow
 ORBS --> ORB_STREAM
 LOC --> LOC_STREAM

 ORB_STREAM --> REG
 LOC_STREAM --> REG

 %% Address exposure
 REG --> BO["Exposed Subject Addresses"]
  • Access A system Ørb responsible to manage invites, individual access and access roles for administrators and Back-Office Users.

  • Back-Office [TODP]

[TODO]

[TODO]