Knowledge Hub
Comprehensive guides and references for the OpenFrame platform
Comprehensive guides and references for the OpenFrame platform
The openframe-oss-tenant repository is the multi-service, multi-tenant open-source foundation of the OpenFrame platform. It provides the full backend and frontend stack required to run a tenant-aware, AI-enabled MSP platform including:
This repository is not a single application — it is a modular microservice architecture built from reusable core libraries and service entrypoints.
The OpenFrame OSS Tenant platform follows a layered, event-driven, multi-tenant SaaS architecture.
flowchart TD
Frontend["Frontend Tenant UI"] --> Gateway["Gateway Service"]
ChatClient["Chat Desktop Client"] --> Gateway
Gateway --> ApiService["API Service"]
Gateway --> ExternalApi["External API Service"]
Gateway --> AuthServer["Authorization Server"]
ApiService --> Mongo["MongoDB"]
ApiService --> Pinot["Apache Pinot"]
ApiService --> Kafka["Kafka Cluster"]
StreamService["Stream Service"] --> Kafka
StreamService --> Cassandra["Cassandra"]
StreamService --> Pinot
ClientService["Client Service"] --> Mongo
ClientService --> NATS["NATS / JetStream"]
AuthServer --> Mongo
Gateway --> AuthServer
OpenFrame is composed of reusable core libraries and deployable service applications.
flowchart TD
UI["Frontend & Chat Clients"] --> Edge["Gateway Layer"]
Edge --> Security["Authorization Server & Shared JWT"]
Edge --> ApiLayer["API & External API Services"]
ApiLayer --> Domain["Domain Services"]
Domain --> Data["Mongo / Cassandra / Pinot"]
Stream["Stream Service"] --> Kafka["Kafka"]
Kafka --> Stream
Stream --> Pinot
Stream --> Cassandra
Client["Client Service"] --> NATS["NATS / JetStream"]
Client --> Domain
Located under:
openframe/services
These are Spring Boot entrypoints that wire the core libraries into deployable services.
Documentation reference:
OpenFrame enforces tenant isolation across:
sequenceDiagram
participant Browser
participant Gateway
participant AuthServer
participant ApiService
Browser->>AuthServer: OAuth Login (tenant-scoped)
AuthServer-->>Browser: JWT (tenant_id claim)
Browser->>Gateway: API Request with JWT
Gateway->>Gateway: Validate issuer + signature
Gateway->>ApiService: Forward with identity context
ApiService->>ApiService: Enforce tenant isolation
Documentation references:
The API layer is split into:
Documentation:
/api/v1/**Documentation:
The Stream Service normalizes and enriches events from:
flowchart LR
Tools["Fleet / Tactical / Mesh"] --> Kafka
MongoCDC["Debezium CDC"] --> Kafka
Kafka --> Stream["Stream Service"]
Stream --> Cassandra
Stream --> KafkaOut["Outbound Kafka"]
Stream --> Pinot
Core modules:
The repository includes multiple data systems:
| Technology | Purpose |
|---|---|
| MongoDB | Primary transactional storage |
| Cassandra | Time-series & log persistence |
| Apache Pinot | Real-time analytics |
| Kafka | Event backbone |
| NATS / JetStream | Agent event messaging |
Documentation:
The Client Service handles:
flowchart TD
Agent["Device Agent"] --> ClientService
ClientService --> Mongo
Agent --> NATS
NATS --> ClientService
ClientService --> DomainServices
Documentation:
The Gateway is the reactive edge:
Documentation:
The frontend integrates:
ApiClientDocumentation:
Reusable core libraries shared across services.
Tenant ID embedded at:
Kafka + Streams for normalization and enrichment.
Gateway built with Spring WebFlux.
Integrated Mingo AI chat system with streaming messages and tool execution workflows.
Most services provide:
Below are the primary documentation modules in this repository:
The openframe-oss-tenant repository is the full-stack, multi-tenant OpenFrame SaaS platform foundation.
It combines:
It is designed for scalability, extensibility, and strict tenant isolation — enabling OpenFrame to function as a unified AI-driven MSP platform.