Skip to main content

Orunbase

workspaces · runs · catalog · control plane

Your platform, delivered. With a control plane behind it.

Orunbase is the managed backend for orun and a complete multi-tenant SaaS control plane: workspaces and projects, deny-by-default access control, remote state and live runs, an immutable audit log, usage metering, billing, and signed webhooks — behind one versioned API, one TypeScript SDK, and one CLI.

api.orunbase.com · POST /v1/organizations/org_9f2c…/projects
$ curl -sX POST https://api.orunbase.com/v1/organizations/org_9f2c.../projects \
  -H "Authorization: Bearer $SOURCEPLANE_TOKEN" \
  -H "Idempotency-Key: 4c9d1e0a-create-checkout-api" \
  -d '{"name": "checkout-api"}'

{
"data": {
  "project": { "id": "prj_...", "name": "checkout-api", "slug": "checkout-api" }
},
"meta": { "requestId": "req_..." }
}
deliver

Remote state & live runs

Point orun at Orunbase and every plan, run, and state transition is stored, ordered, and streamed. Jobs coordinate across runners; the catalog of record is derived from what actually shipped.

State plane →

organize

Workspaces, projects, environments

Accounts hold workspaces; workspaces hold projects (your repos) and their environments. Every resource is tenant-scoped in the URL — no ambient context, no tenant headers to forget.

Workspaces →

govern

Access control & audit

Deny-by-default RBAC with workspace, project, account, and team roles — every decision carries its provenance. Every state change lands in an immutable, queryable audit log.

Access control →

integrate

API, SDK, CLI, webhooks

One versioned REST API with caller-owned idempotency and typed errors, a zero-dependency TypeScript SDK, the orun-cloud CLI, and HMAC-signed webhooks for everything that happens.

API overview →

What Orunbase is

Orunbase is two things at once, by design:

the managed backend

For orun, the intent compiler

orun compiles platform intent into deterministic plans. Orunbase gives those plans a home: managed remote state, run coordination across runners, and a service catalog projected from real execution history.

a SaaS control plane

Tenancy, access, and money

Identity, organizations, teams, RBAC, configuration, secrets metadata, audit, usage metering, quotas, billing, notifications, and webhooks — the primitives every production platform needs, shipped as bounded-context services behind one edge API.

an open baseline

Fork it, rebrand it, grow it

The whole platform is open source and written as portable component intent, converged by orun itself on every commit. Run your own from a clean clone — no committed resource IDs, ever.

one design language

Console, docs, CLI, cockpit

The console, these docs, and orun's CLI cockpit share the same tokens, glyphs, and status vocabulary. What you see in a CI log is what you see in the control room — and in the margin of this page.

The platform at a glance

                        ┌──────────────────────── api.orunbase.com ───────────────────────┐
orun CLI · SDK ──────▶│ edge API · /v1 · auth resolution · idempotency · rate limits │
console · CI (OIDC) └──────┬────────────────────────────────────────────────┬─────┘
▼ ▼
┌── tenancy & access ──┐ ┌── platform primitives ──┐ ┌── delivery plane ──┐
│ identity · sessions │ │ config · feature flags │ │ remote state │
│ workspaces · teams │ │ audit · events │ │ run coordination │
│ RBAC (deny-default) │ │ metering · quotas │ │ catalog of record │
│ projects · envs │ │ billing · notifications │ │ repo links (GitHub)│
└──────────────────────┘ │ webhooks (signed) │ └────────────────────┘
└─────────────────────────┘

Every box is a bounded-context service with its own contract; nothing reaches the data plane except through the edge. The architecture page walks through each one.

How to read these docs

start

First call in five minutes

The quickstart takes you from sign-in to an authenticated API call. Vocabulary pins down accounts, workspaces, projects, and actors before anything else uses the words.

operate

Security & self-hosting

The security model explains tenancy isolation end to end. Run your own covers forking the baseline and converging it with orun — the same way we deploy it.

Why this design

Tenancy in the path, not in headers

Every resource lives under /v1/organizations/{id}/…. The tenant is visible in every URL, every log line, and every audit entry.

Deny by default

No role, no access. Permissions are explicit action strings evaluated by a single policy engine, and every decision records how it was derived.

Caller-owned idempotency

Unsafe requests accept an Idempotency-Key; replays return the recorded response. Retries are safe because you name them, not because we guess.

Converged by its own thesis

The platform deploys through orun: every commit compiles a plan, every merge converges it. These docs ship the same way.


Ready to make your first call? Start with the quickstart, skim what Orunbase is for the full picture, or go straight to the API reference.