SoyaOS

Editions

Six deployment shapes from one binary — Solo to Enterprise Private.

The SoyaOS edition describes where the control plane and workloads run and who operates them. Solo uses the local binary. Cloud v0.2.0 is a live hosted text-Agent service consumed through the Developer Portal and OpenAI-compatible API. The other editions remain roadmap items.

soyaos start --edition solo      # current local entry point

The matrix

EditionControl plane (Planet)Data plane (Comets)PersonaTypical costStatus
soloin-processin-processOne dev, one laptopFree · your hardwarealpha now
clusterself-hosted Planet on your VPSself-hosted Comets in your LAN/VPCA team + VPS + intranet devices~$0.10 / Comet·hr (est.)planned
cloudhosted personal tenant and API keysplatform-reviewed hosted text AgentRegister, get an API key, shipcurrently free · daily quotasStable v0.2.0
hybridsoyaos.ai-managed Planetyour Comets in your VPC / on-premSaaS Planet, your Moonper-token (control plane only)planned
ent-clouddedicated Planet (region pinned)dedicated Comet poolMulti-tenant SaaS with SSO and SLAcontact usplanned
ent-privatecustomer-operated Planetcustomer-operated CometsOn-prem or air-gappedannual licenseplanned

Each edition uses an OpenAI-compatible API as its primary call surface. Cloud v0.2.0 currently exposes platform-reviewed text Agents only; it does not accept or run user-supplied SoyaPacks. The complete Cloud architecture remains a roadmap.

Decision tree

Pick the first row that matches: start with cloud when you want no installation or operations, and with solo when you want everything on your own computer.

If……pick this
I just want to try it on my laptop.solo
Small team, comfortable running a VPS, data stays on our hardware.cluster
Don’t want to operate anything — give me an API key.cloud
Use SoyaOS’s brain, but keep our workload on our hardware.hybrid
Multi-tenant SaaS for our customers, with SSO / SLA / SOC 2.ent-cloud
Bank / lab / regulated industry where outbound is denied by default.ent-private

Edition deep dives

solo — in-process everything

Planet, Moon and Comet collapse into a single process on your machine. No registry, no auth, no network surface. The fastest way to feel SoyaOS, and the one we test most aggressively.

  • State: SQLite under ~/.local/share/soyaos/ (or %LOCALAPPDATA% on Windows).
  • Auth: none. The process listens on 127.0.0.1 only.
  • Limits: only your hardware. We’ve run this on a 2018 MacBook Air.

cluster — one Planet you run, Comets you scale

The default shape for an early-stage engineering team. One small VPS hosts the Planet; Comet workers attach via soyaos join. SoyaPack registry lives on any S3-compatible bucket.

  • State: Postgres (recommended) or SQLite for tiny teams.
  • Auth: shared org token at first, OIDC once you outgrow it.
  • Networking: Comets only need outbound HTTPS to the Planet; they don’t need to be reachable.

cloud — hosted text Agent

Cloud v0.2.0 is live. Follow the Cloud quickstart, sign in with GitHub, and create an API key to call soya:starter at https://api.soyaos.ai/v1.

  • Lifecycle: Stable v0.2.0; currently free, single-region, best-effort, and without an SLA.
  • Capabilities: platform-reviewed text Agents only; no BYOK, custom SoyaPacks, tools, or arbitrary code execution.
  • Data: request and trace metadata is retained for 24 hours; prompt and response bodies are not persisted by default.
  • Entry point: developer.soyaos.ai; the API base URL is https://api.soyaos.ai/v1.

hybrid — managed Planet, your Comets

The orchestration is hosted; the workload stays inside your perimeter. Useful when your data can’t leave but you don’t want to babysit a control plane. Comets attach to our Planet via outbound HTTPS only.

  • Use when: HIPAA / PCI / “no customer data leaves our VPC” constraints.
  • Don’t use when: you also want the audit log to live on your hardware — pick ent-private then.

ent-cloud — dedicated, multi-tenant SaaS

Dedicated regions, SSO/SAML, SOC 2 controls, signed audit log export. Same kernel as solo — only the operations are different. Sold via annual seats + an MSA.

ent-private — on-prem or air-gapped

Ship the same binary into a sealed network. Update via signed offline bundles. Tested against banks and labs where outbound is denied by default. The signing key lives with the customer; we don’t have a back door.

Switching editions

There is no separate install — soyaos is the same binary. Switching is a config flag change. Migrations between editions are designed to be non-destructive: SoyaPacks, capability allowlists and Scope events round-trip.

FromToWhat changes
soloclusterMove state from local SQLite → Postgres; point Comets at the Planet URL.
clustercloudv0.2.0 does not accept custom SoyaPacks; applications must use a reviewed Agent and a Cloud API key.
clusterhybridSame Comets; the Planet URL flips to ours.
cloudhybridSpin up Comets in your VPC; flip Comets-only.
*ent-privateManual — talk to us. Air-gapped means we ship you a signed offline bundle.

A concrete solo → cluster cutover looks like:

# On your VPS:
soyaos start --edition cluster --bind 0.0.0.0:8443 --state postgres://...

# On your laptop, where solo was running:
soyaos pack push hello                                # publish SoyaPacks to the new Planet
soyaos join --moon https://moon.example.com --token <invite>

What stays the same across editions

  • OpenAI-compatible surface on /v1/chat/completions.
  • Model IDs use the soya:* shape.
  • Errors use an OpenAI-compatible envelope.

Solo and future self-hosted editions continue to use SoyaPacks, capability allowlists, Scope events, and the CLI. Cloud v0.2.0 reuses the call contract but does not promise those deployment capabilities.

See Architecture for the Planet / Moon / Comet model behind the matrix.

Edit this page on GitHub