flamingo-stack/openframe-oss-tenant
flamingo-stack/openframe-oss-tenant has 1,000 GitHub stars and 28 forks. Star changes are not measured yet. Last checked 2026-11-09 08:54 UTC. Last push 2026-11-03.
Comment ces chiffres sont mesurés
Code base for OSS OpenFrame single tenant version
What you can do
- AI-Assisted Support — Mingo AI for technicians and Fae for end clients, both powered by streaming LLMs with real-time response delivery
- Cross-Platform Rust Agent — openframe-client runs as a system service on Windows, macOS, and Linux; supports script execution, tool management, and self-updating via Velopack
- Multi-Tenant Architecture — Full tenant isolation with per-tenant OAuth2 clients, RSA-signed JWTs, and TenantAwareMongoTemplate database scoping
- Real-Time Event Streaming — Apache Kafka + NATS JetStream for device events, script execution results, and AI message chunk delivery
Progression mesurée des étoiles
- in 24h
- Mise à jour retardée
- in 7 days
- Mise à jour retardée
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
Original
OpenFrame OSS Tenant
OpenFrame OSS Tenant is the multi-service, multi-tenant open-source foundation of the OpenFrame platform — an AI-powered MSP (Managed Service Provider) platform built by Flamingo that replaces expensive proprietary software with intelligent automation.
It integrates device management, real-time messaging, AI-assisted support (Mingo AI for technicians, Fae for clients), and event-driven automation across a polyglot microservice architecture built on Spring Boot (Java) and Rust.
✨ Features
- AI-Assisted Support — Mingo AI for technicians and Fae for end clients, both powered by streaming LLMs with real-time response delivery
- Cross-Platform Rust Agent —
openframe-clientruns as a system service on Windows, macOS, and Linux; supports script execution, tool management, and self-updating via Velopack - Multi-Tenant Architecture — Full tenant isolation with per-tenant OAuth2 clients, RSA-signed JWTs, and
TenantAwareMongoTemplatedatabase scoping - Real-Time Event Streaming — Apache Kafka + NATS JetStream for device events, script execution results, and AI message chunk delivery
- Remote Management (RMM) — Script execution (bash, PowerShell, Python, Nushell), scheduling, live commands, and compliance checking across all managed endpoints
- Integrated Tool Management — MeshCentral, FleetMDM, and custom tool agents orchestrated through the platform
- SSO Support — Google and Microsoft OIDC integration via the Spring Authorization Server
- GraphQL API — Netflix DGS-powered API service with full multi-tenant scoping
- Open Source & Self-Hostable — Deploy and extend on your own infrastructure
🏗️ Architecture
All client traffic passes through the Spring Cloud Gateway. Backend services communicate via HTTP/GraphQL internally and asynchronously via Kafka and NATS JetStream. The Rust agent communicates exclusively over NATS.
graph TB
subgraph Clients["Client Layer"]
FrontendUI["openframe-frontend\n(Web UI)"]
end
subgraph Gateway["Edge Layer"]
GW["Gateway Service :8081\n(Spring Cloud Gateway)"]
end
subgraph CoreServices["Core Services"]
API["API Service :8080\n(Spring Boot + GraphQL)"]
AuthServer["Auth Server :8082\n(OAuth2 / OIDC)"]
ExtAPI["External API :8083\n(Spring Boot REST)"]
StreamSvc["Stream Service :8085\n(Kafka Streams)"]
ClientSvc["Client Service :8084\n(Spring Boot + NATS)"]
end
subgraph AgentLayer["Agent Layer"]
OFClient["openframe-client\n(Rust System Agent)"]
end
subgraph DataLayer["Data Layer"]
Mongo[("MongoDB")]
Cassandra[("Cassandra")]
Pinot[("Apache Pinot")]
Redis[("Redis")]
Kafka[("Apache Kafka")]
NATS[("NATS JetStream")]
end
FrontendUI --> GW
GW --> API
GW --> AuthServer
GW --> ExtAPI
API --> Mongo
API --> Pinot
API --> Kafka
StreamSvc --> Kafka
StreamSvc --> Cassandra
StreamSvc --> Pinot
ClientSvc --> Mongo
ClientSvc --> NATS
AuthServer --> Mongo
OFClient --> NATS
OFClient --> API
Core Components
| Component | Language | Port | Responsibility |
|---|---|---|---|
| API Service | Java / Spring Boot 4.1 | 8080 | REST + GraphQL APIs; tickets, dialogs, AI settings, tenant management |
| Authorization Server | Java / Spring Authorization Server | 8082 | Multi-tenant OAuth2/OIDC; RSA-signed JWT issuance; SSO (Google, Microsoft) |
| Gateway | Java / Spring Cloud Gateway | 8081 | Security enforcement, JWT validation, routing, WebSocket proxy |
| External API | Java / Spring Boot | 8083 | Rate-limited public API endpoints with API key management |
| Stream Service | Java / Kafka Streams | 8085 | Real-time event normalization, enrichment, Cassandra/Pinot writes |
| Client Service | Java / Spring Boot + NATS | 8084 | Agent lifecycle management, tool orchestration |
| openframe-client | Rust | — | Cross-platform system agent; device registration, script execution, self-update |
🚀 Quick Start
Prerequisites
- JDK 25 (OpenJDK 25 recommended)
- Apache Maven 3.9+
- Rust 1.78+ (stable) — install via rustup
Clone and Build
# 1. Clone the repository
git clone https://github.com/flamingo-stack/openframe-oss-tenant.git
cd openframe-oss-tenant
# 2. Build all backend services (Java / Spring Boot)
mvn clean install -DskipTests
# 3. Build the Rust agent
cd clients/openframe-client
OPENFRAME_VERSION=0.0.0-dev cargo build
# 4. Return to root
cd ../..
Run a Backend Service
# Start the API service
mvn spring-boot:run -pl openframe/services/openframe-api
Verify the Rust Agent
./clients/openframe-client/target/debug/openframe-client --help
Agent Doctor Check
cd clients/openframe-client
./target/debug/openframe-client doctor
Install Agent as a System Service
sudo ./target/release/openframe-client install \
--serverUrl https://your-openframe-instance.example.com \
--initialKey YOUR_INITIAL_KEY \
--orgId YOUR_ORG_ID
🛠️ Technology Stack
| Layer | Technology |
|---|---|
| Backend services | Java 25, Spring Boot 4.1, Spring Cloud Gateway, Spring Authorization Server, Netflix DGS (GraphQL) |
| Endpoint agent | Rust (stable), async-nats, tokio, Velopack |
| Event streaming | Apache Kafka, Kafka Streams |
| Agent messaging | NATS JetStream |
| Primary datastore | MongoDB (multi-tenant, tenant-scoped) |
| Time-series storage | Apache Cassandra |
| Real-time analytics | Apache Pinot |
| Cache / sessions | Redis |
| Shared UI library | @flamingo-stack/openframe-frontend-core (npm) |
📁 Repository Structure
openframe-oss-tenant/
├── openframe/
│ └── services/ # Spring Boot microservices
│ ├── openframe-api/ # Core REST + GraphQL API (port 8080)
│ ├── openframe-gateway/ # Spring Cloud Gateway (port 8081)
│ ├── openframe-authorization-server/ # OAuth2/OIDC (port 8082)
│ ├── openframe-external-api/ # Public API (port 8083)
│ ├── openframe-client/ # Agent lifecycle service (port 8084)
│ ├── openframe-stream/ # Kafka Streams (port 8085)
│ ├── openframe-management/
│ └── openframe-config/
├── clients/
│ └── openframe-client/ # Rust cross-platform agent
├── manifests/ # Kubernetes manifests & data service configs
└── pom.xml # Parent Maven POM
🔧 CLI Tools
The OpenFrame CLI tools are maintained in a separate repository:
- Repository: flamingo-stack/openframe-cli
- Installation: Installation Guide
- Documentation: CLI Documentation
📚 Documentation
Full documentation is available in the docs/ directory:
- Introduction — What is OpenFrame OSS Tenant?
- Prerequisites — Environment requirements
- Quick Start — Step-by-step setup guide
- First Steps — Explore the platform after setup
- Architecture Overview — Diagrams and component relationships
- Development Guide — Full development documentation
- Contributing Guidelines — How to contribute
🤝 Community
All support, feature requests, bug reports, and development discussions happen in the OpenMSP Slack community — GitHub Issues and GitHub Discussions are not used.
- OpenMSP Community: https://www.openmsp.ai/
- Join Slack: Invite Link
- OpenFrame Website: https://openframe.ai
- Flamingo Platform: https://flamingo.run
- Releases: github.com/flamingo-stack/openframe-oss-tenant/releases
Explorer des projets similaires
codecrafters-io/build-your-own-x
Maîtrisez la programmation en recréant de zéro vos technologies préférées.
561,398 étoilespublic-apis/public-apis
Une liste collective d'API gratuites
497,679 étoilesmorluto/rea
Rétro-ingénierie de n'importe quoi avec des agents, du comportement des applications jusqu'aux binaires natifs.
447,495 étoilesopenclaw/openclaw
L'IA qui fait vraiment les choses. Tout système d'exploitation, toute plateforme. À la manière du homard. 🦞
394,261 étoiles