Skip to content

flamingo-stack/openframe-oss-tenant

Repository files navigation

OpenFrame

License

OpenFrame OSS Tenant

The multi-service, multi-tenant open-source foundation of the OpenFrame platform β€” An AI-powered MSP platform that replaces expensive proprietary software with open-source alternatives enhanced by intelligent automation.

OpenFrame provides the unified platform that integrates multiple MSP tools into a single AI-driven interface, featuring Mingo AI for technicians and Fae for clients, automating IT support operations across the stack.

OpenFrame Preview Webinar

OpenFrame: 5-Minute MSP Platform Walkthrough - Cut Vendor Costs & Automate Ops

✨ Features

πŸ€– AI-Powered Automation

  • Mingo AI Assistant - Autonomous agent architecture that handles incident triage, alert management, and automated response workflows
  • Fae Client Interface - AI-powered client interface for streamlined communication
  • Intelligent Data Processing - Real-time event normalization and enrichment with Kafka Streams

πŸ—οΈ Enterprise-Grade Architecture

  • Multi-Tenant by Design - Complete tenant isolation across OAuth clients, JWT tokens, RSA keys, and database documents
  • Microservice Foundation - Spring Boot 3.3.0 services with Java 21, designed for scalability and modularity
  • Event-Driven Backbone - Kafka + Streams for real-time data flow and processing
  • Reactive Edge - Spring WebFlux Gateway for high-performance request routing

πŸ”Œ Comprehensive Integration

  • MSP Tool Integration - Fleet MDM, Tactical RMM, MeshCentral for device management and remote access
  • Data Pipeline - Apache NiFi, MongoDB, Cassandra, Apache Pinot for analytics and storage
  • Real-Time Messaging - NATS/JetStream for agent communication and event handling
  • Standardized APIs - REST + GraphQL APIs with OpenAPI documentation

πŸ” Security & Compliance

  • OAuth2/OIDC Multi-Tenant - Complete authorization server with SSO integration (Google, Microsoft)
  • JWT Multi-Issuer Support - Tenant-scoped authentication with cached validation
  • API Key Management - Rate-limited external API access with proper authorization
  • End-to-End Security - Gateway-enforced security with downstream identity context

πŸš€ Quick Start

Get OpenFrame running locally in under 5 minutes:

# Clone and setup
git clone https://github.com/flamingo-stack/openframe-oss-tenant.git
cd openframe-oss-tenant

# Start dependencies (MongoDB, Redis, Kafka, Cassandra, Pinot, NATS)
./scripts/dev-start-dependencies.sh

# Initialize configuration
./clients/openframe-client/scripts/setup_dev_init_config.sh

# Build and start services
mvn clean install -DskipTests
./scripts/start-all-services.sh

# Access the platform
open http://localhost:3000

Expected services after startup:

  • Frontend UI: http://localhost:3000
  • API Service: http://localhost:8080
  • Gateway: http://localhost:8081
  • Authorization Server: http://localhost:8082

πŸ›οΈ Architecture

OpenFrame follows a layered, event-driven, multi-tenant SaaS architecture:

flowchart TD
    UI[Frontend Tenant UI] --> Gateway[Gateway Service]
    Chat[Chat Desktop Client] --> Gateway
    
    Gateway --> API[API Service]
    Gateway --> External[External API Service] 
    Gateway --> Auth[Authorization Server]
    
    API --> Mongo[(MongoDB)]
    API --> Pinot[(Apache Pinot)]
    API --> Kafka[(Kafka Cluster)]
    
    Stream[Stream Service] --> Kafka
    Stream --> Cassandra[(Cassandra)]
    Stream --> Pinot
    
    Client[Client Service] --> Mongo
    Client --> NATS[(NATS/JetStream)]
    
    Auth --> Mongo
Loading

Core Services

Service Purpose Port Technology
API Service Internal REST + GraphQL APIs 8080 Spring Boot, GraphQL
Authorization Server Multi-tenant OAuth2/OIDC 8082 Spring Authorization Server
Gateway Security, routing, WebSocket proxy 8081 Spring Cloud Gateway
External API Public API endpoints 8083 Spring Boot REST
Stream Service Event processing and enrichment 8085 Kafka Streams
Client Service Agent lifecycle management 8084 Spring Boot, NATS
Frontend UI Web-based tenant dashboard 3000 Node.js with AI/LLM
Chat Client Desktop AI assistant - Rust/Tauri

πŸ”„ Multi-Tenant Security Flow

sequenceDiagram
    participant Browser
    participant Gateway
    participant AuthServer
    participant ApiService
    participant Database

    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
    ApiService->>Database: Query with tenant_id scope
Loading

πŸ› οΈ Technology Stack

Backend Services

  • Java 21 with Spring Boot 3.3.0
  • Spring Security with OAuth2/OIDC support
  • Spring Cloud Gateway for reactive routing
  • Apache Kafka for event streaming
  • NATS/JetStream for agent messaging

Data Layer

  • MongoDB - Primary transactional storage
  • Apache Cassandra - Time-series and log persistence
  • Apache Pinot - Real-time analytics and querying
  • Redis - Caching and session management

AI & Automation

  • VoltAgent Core - Intelligent automation framework
  • Anthropic SDK and OpenAI integration
  • GraphQL - Chat integration with streaming messages
  • Real-time dialog orchestration - Zustand stores for message state

πŸ“š Documentation

Comprehensive documentation is available in the docs directory:

CLI Tools

The OpenFrame CLI tools are maintained in a separate repository:

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for:

  • Development workflow and branch naming
  • Code style and conventions
  • Pull request process and review guidelines
  • Testing requirements and quality standards

Join our community:

🏒 Enterprise & Support

  • Platform: Flamingo - AI-powered MSP platform
  • OpenFrame: Product Page - Unified MSP interface
  • Community: OpenMSP - Open source MSP community

πŸ“„ License

This project is licensed under the Flamingo AI Unified License v1.0 - see the LICENSE.md file for details.


Built with πŸ’› by the Flamingo team

About

Code base for OSS OpenFrame single tenant version

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors