Skip to content

Glossary

The load-bearing terminology. Match these terms verbatim — don't introduce parallel vocabulary (CLAUDE.md §7). Each term links to its canonical home.

Identity & tenancy

Tenant keyproject_id + environment + service_id. Every customer metric and log line is attributed to this tuple. workspace_id rides along as the billing-boundary label, not part of the key. There is no customer_id (removed in v1.9) and no customers table. → §24.1

Entity hierarchyworkspaceproject (carries a default region; placement is per service-per-environment, FR-077 — nothing is pinned at the project level) → environment (customer-named, validated RFC 1123 ≤30 chars — no fixed dev/staging/prod enum; flags is_protected, is_ephemeral) → service (web / worker / cron — cron is post-MVP, §39.3 #48) · database · bucket · var_group. → §15, FR-070

Placement & cross-region rule — each (service, environment) and database chooses its region/cluster (default: the project's region). No private networking across regions (FR-078): cross-region service calls use public hostnames; databases are region-local. Cross-environment networking is opt-in (allow_cross_env_networking, FR-079). → §20.1

Ephemeral / preview environment — identified by the structural is_ephemeral flag, not by name-matching. Keys the per-route preview-metric retention treatment (previews are metriced like any env; short-retention post-MVP). → FR-067

The 9 load-bearing labels

A Shuttle-created resource missing a required one is a bug (full catalog §24):

starform.io/managed-by (=shuttle, primary Informer filter) · workspace-id · project-id · environment · service-id · service-name · cluster-id · var-group-id (on Secrets) · database-id (on database resources). (tier is operational, not load-bearing — §24.2.) → §24.1

Components (the star metaphor)

Term Meaning Home
Starform The product — the developer PaaS Overview
Starbase Control plane — Go monolith, two binaries (API + Worker); decides what should run Starbase
Shuttle Per-cluster Go agent; applies workloads to each cluster Shuttle
Shipyard Per-region agent; applies machine lifecycle (provision/upgrade/repair the Talos fleet); post-MVP Shipyard
Starforge Build pipeline (a BuildService port inside Starbase Worker; Depot + Railpack) Starforge
Stardeck Next.js customer dashboard Stardeck
Mission Control Bird's-eye observability view inside Stardeck Stardeck
Mininova → Ultranova Customer-facing pod instance sizes (Nova tiers) §1

Naming conventions

  • Namespace: proj-<project_uuid> — UUID hyphen-stripped to 32 hex, identical on every cluster; readability via the starform.io/project-slug label → §20.1
  • Var Group Secret: vg-<var_group_id>§38
  • HTTPRoute: <project_uuid><service_uuid>-<environment> — each UUID hyphen-stripped to 32 hex chars; positional parse chars[0:32]=project, [32:64]=service, post-hyphen=environment. Load-bearing for metrics attribution.§20.2

Managed data tiers

DB tier ladder — every database/cache is provisioned at a customer-chosen Nova-named tier; the tier alone decides the engine, plans never gate it: Mininova = containerized throwaway · Micronova → Ultranova = dedicated DO Managed (single-node at MVP). → Managed Databases, FR-074

Throwaway database — a Mininova-tier in-cluster DB/cache pod: instant, ~free, "not for production" — no backup/PITR/upgrade promises; forced for is_ephemeral environments; deleted with its entity. → Managed Databases

Enumerations

The 7 customer metrics — latency, RPS, throughput, error rate, CPU, memory, network. → v2 Read & query

Build statespending → building → built → deploying → deployed (terminal: failed, cancelled). → §16.12

Status tags (→ custom admonitions) — [MVP] (!!! mvp) · [Post-MVP] (!!! post-mvp) · pre-launch-blocking (!!! pre-launch) · out of scope (!!! out-of-scope) · Decision pending (!!! decision-pending).

Kubernetes runtime

Kubernetes runtime — Starform's own platform (Starbase, Stardeck) runs on managed DOKS; customer workload clusters run on self-managed Talos Linux + gVisor on DO droplets; managed DBs stay DO. → Kubernetes Runtime

gVisor / RuntimeClass — user-space kernel sandbox; customer web/worker pods run runtimeClassName: gvisor, containing container escapes (FR-082). → Security & Isolation

Vendors / adapters (MVP)

Cloud = DigitalOcean (Managed Postgres, Managed Valkey, Container Registry, Load Balancer, VPC peering, Droplets; DOKS for the Starform platform, self-managed Talos for customer workloads) · builds = Depot + Railpack · customer object storage = Tigris (post-MVP; platform storage = DO Spaces) · DNS/CDN/WAF = Cloudflare · payments = Stripe · customer telemetry = ClickHouse (logs + metrics, per-plan TTL) · collection = OTel Collector (per-node agent + regional gateway) + Grafana Alloy (platform) · platform monitoring = Grafana Cloud (MVP-only). → Tech Stack