Skip to content

The Business Kernel. A headless operating system providing Identity, RBAC, Workflow, and Audit Logging for your applications.

License

Notifications You must be signed in to change notification settings

objectstack-ai/objectos

Repository files navigation

ObjectOS

The Enterprise Low-Code Runtime Engine.

Instant Backend. Security Kernel. Workflow Automation.

Built on ObjectQL & NestJS.

License Stack Docker


🏒 Introduction

ObjectOS is a production-ready, metadata-driven runtime platform.

While ObjectQL defines how data looks, ObjectOS defines how business runs. It acts as the "Operating System" for your enterprise data, instantly turning static YAML schemas into secure, scalable, and compliant APIs.

The Role of ObjectOS:

  • The Enforcer: Intercepts every request to enforce RBAC (Role-Based Access Control) and Record-Level Security (RLS).
  • The Server: Automatically serves REST, GraphQL, and JSON-RPC APIs for Object UI.
  • The Automator: Runs server-side triggers, workflows, and scheduled jobs.

πŸš€ Key Features

πŸ›‘οΈ Enterprise Security Kernel

ObjectOS doesn't just read data; it protects it.

  • Authentication: Integrated OIDC, SAML, and LDAP support (via Better-Auth).
  • Fine-Grained Permission: Field-level and record-level sharing rules defined in YAML.
  • Audit Logging: Built-in tracking of who did what and when.

πŸ”Œ Instant API Gateway

Stop writing boilerplate controllers.

  • Auto-generated REST API: GET /api/v1/data/{object} works out-of-the-box.
  • Auto-generated GraphQL: Instant schema stitching based on your ObjectQL definitions.
  • Metadata API: Serves UI configuration to frontend clients like Object UI.

βš™οΈ Workflow & Automation

  • Triggers: Run code beforeInsert, afterUpdate, beforeDelete.
  • Flow Engine: Visual workflow execution (compatible with BPMN-style logic).
  • Job Queue: Background task processing based on Redis.

πŸ“¦ Architecture

ObjectOS is built as a modular Monorepo using NestJS.

Package Role Description
@objectos/kernel The Brain The core logic engine. Wraps ObjectQL, manages plugins, and handles the event bus.
@objectos/server The Gateway NestJS application layer. Handles HTTP/WS traffic, Middlewares, and Guards.
@objectos/plugin-auth Auth Authentication strategies (Local, OAuth2, Enterprise SSO).
@objectos/plugin-workflow Logic Workflow engine and trigger runner.
@objectos/presets Config Standard system objects (_users, _roles, _audit_log).

⚑ Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL or MongoDB
  • Redis (for Queues/Caching)

Installation

# Clone the repository
git clone https://github.com/objectstack-ai/objectos.git

# Install dependencies
pnpm install

# Configure environment
cp .env.example .env

Running the Server

ObjectOS runs as a standard NestJS application.

# Start in development mode
pnpm dev

# The API is now available at http://localhost:3000
# The Metadata API is at http://localhost:3000/api/v1/metadata

🧩 Usage Example

ObjectOS is designed to be injected into your application.

// main.ts (Your NestJS App)
import { NestFactory } from '@nestjs/core';
import { ObjectOSModule } from '@objectos/server';
import { SqlDriver } from '@objectql/driver-sql';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  // Initialize ObjectOS
  await app.get(ObjectOSModule).boot({
    // 1. Define Data Source (ObjectQL Driver)
    driver: new SqlDriver({
      connection: process.env.DATABASE_URL
    }),
    
    // 2. Load Plugins
    plugins: [
      AuthPlugin({ secret: '...' }),
      WorkflowPlugin()
    ],
    
    // 3. Load Metadata
    metadata: ['./src/objects/*.yml']
  });

  await app.listen(3000);
}
bootstrap();

πŸ“‹ Development & Roadmap

Want to contribute or see what's coming next?

Key Q1 2026 Goals:

  • πŸ” Production-grade permission system (Object/Field/Record-level)
  • πŸͺ Complete lifecycle hooks system
  • πŸ”— Full relationship support (Lookup, Master-Detail, Many-to-Many)
  • πŸ§ͺ Test coverage (90% Kernel, 80% Server, 70% UI)

βš–οΈ License & Commercial Usage

ObjectOS is open-source software licensed under the GNU Affero General Public License v3.0 (AGPLv3).

What this means:

  • βœ… Free for internal use: You can use ObjectOS internally within your company for free.
  • βœ… Free for open source: You can use ObjectOS in AGPL-licensed open-source projects.
  • ⚠️ Copyleft: If you modify ObjectOS or link it into your application and convey it to users (e.g., as a SaaS), you must open-source your entire application under AGPL.

Commercial License

If you wish to build proprietary/closed-source SaaS applications using ObjectOS, or cannot comply with the AGPL, you must purchase a Commercial License.

πŸ‘‰ Contact Sales for Enterprise Licensing


Part of the Object Ecosystem.

ObjectQL (Data) β€’ ObjectOS (System) β€’ Object UI (View)

About

The Business Kernel. A headless operating system providing Identity, RBAC, Workflow, and Audit Logging for your applications.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •