Skip to content

Assoverse/Orion

Orion logo

Orion

Kubernetes for JS Developers — a full TypeScript control plane, agent, CLI, and dashboard for orchestrating JavaScript services without containers.

Orion brings declarative orchestration to Node.js, Next.js, Bun, Deno, and other modern JavaScript runtimes. It provides a lightweight control plane, agents, CLI, dashboard, and DNS automation so you can deploy, scale, and observe services across laptops or fleets of machines.

Highlights

  • TypeScript control plane powered by Fastify + WebSocket reconciliation loops.
  • Lightweight agents that supervise processes (Node/Bun/Deno) with restarts and heartbeats.
  • Declarative CLI for init, apply, get, logs, exec, and launching the dashboard.
  • Next.js dashboard with real-time service and node insights.
  • Shared schemas using Zod for config validation.
  • DNS manager with DigitalOcean, Cloudflare, AWS Route53, wildcard proxy, and local providers, plus optional wildcard SSL automation.
  • Examples for Node, Next.js, Vite, and PWA workloads.

Monorepo layout

/packages
  core          # Control plane (API server, scheduler, controllers)
  agent         # Node agent daemon
  cli           # Orion CLI
  dashboard     # Next.js + Tailwind dashboard
  dns-manager   # Multi-provider DNS automation
  shared        # Shared schemas and utilities
/examples
  simple-service
  next-app
  vite-app
  vite-pwa
/docs
  architecture.md
  api.md
  plugins.md
  dns-manager/

Orion uses pnpm and Turborepo to coordinate builds.

Quick start

  1. Install dependencies
pnpm install
  1. Launch the full stack (control plane, agent, dashboard)
scripts/dev.sh
  1. Deploy a configuration
pnpm --filter @orion/cli run dev
# in another terminal
gorion init
gorion apply -f orion.yaml
  1. Open the dashboard

Visit http://localhost:3000 to inspect services, nodes, and live cluster state.

  1. DOCS

For more infos go see the wiki orion

Declarative configuration

apiVersion: orion/v1
kind: Config
metadata:
  name: demo
  environment: dev
spec:
  services:
    - name: api-users
      path: ./examples/simple-service
      entry: src/index.ts
      runtime: node
      replicas: 2
      env:
        NODE_ENV: development
      ports:
        - name: http
          port: 4000
    - name: web
      path: ./examples/next-app
      type: nextjs
      runtime: node
      replicas: 1
  nodes: []

Core packages

  • @orion/core – REST + WebSocket API server with a round-robin scheduler and reconciliation loops.
  • @orion/agent – Node 20+ daemon streaming metrics, heartbeats, and running processes with restart policies.
  • @orion/cli – Commander-based CLI with Chalk/Ora UX and schema validation.
  • @orion/dashboard – Next.js 14 + Tailwind dashboard for services, nodes, and (future) live logs.
  • @orion/dns-manager – Multi-provider DNS + optional wildcard SSL automation.
  • @orion/shared – Zod schemas, logger helpers, ID/time utilities shared across packages.

Roadmap

  • Streaming logs and remote exec (orion logs --follow, orion exec).
  • Auto-scaling driven by CPU/memory policies.
  • Plugin marketplace (e.g., @orion/plugin-vercel).
  • Auth & RBAC with JWT roles.
  • Serverless triggers (HTTP, cron, queue integrations).
  • Multi-cluster federation and preview environments.

License

Licensed under Apache 2.0.

About

Kubernetes for JS Developers — a full TypeScript control plane, agent, CLI, and dashboard for orchestrating JavaScript services without containers.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors