yourspace 2.0 — enterprise-ready, indie-shaped
A year and a half past v1.0.2, twenty-one months past the v1.0
that started the line. The home page still reads "A tiny CDN for
indie projects." The procurement-side reading at
/enterprise still terminates in sales@. The CLI
still has eleven primary subcommands plus the plugins on top, and
yourspace deploy still ships the same way it shipped on day
one.
What changed is everything underneath.
What shipped (or completed-shipping) in v2.0
1. SOC 2 Type II
Eighteen months of evidence collection, two audit cycles, a written control framework anchored to NIST 800-53. The auditor's report is available to Enterprise-tier customers under signed NDA; the control set is published in the customer dashboard for active accounts.
This is the procurement unblock. Customers who previously needed to fill in a 200-question vendor security questionnaire now read the report and skip ahead.
2. Cross-region consensus on deploy ordering
Raft for the deploy log; broadcast-commit for the bundle store. v1.x's "eventually consistent within seconds" contract becomes "consistent on commit." Operators read deploy state from any region and get the same answer.
Tenant data still lives in a home region with eventual replication — this consensus layer is for deploy ordering and bundle distribution, not for arbitrary cross-region state. The clarity of that boundary is what kept the work tractable.
3. Full edge runtime parity across every region
Edge functions, KV, durable storage, cron triggers, queues, allowlisted egress — all six surfaces work identically in every region the platform operates. v1.2 had this for the original three regions; v2.0 closes it for regions four through nine.
The customer-visible difference: a function that worked in EU-Central works the same in AP-Southeast, with the same performance envelope and the same KV consistency contract.
4. In-house authoritative DNS for the primary domain
*.yo.urspace.net resolves through DNS we operate. Anycast on
three continents; signed zones with automated KSK/ZSK rotation;
the DS record at the registrar is the customer's only
responsibility for delegated domains.
This was a v1.3 milestone for platform-authoritative zones; v2.0 extends it to the primary domain itself. The Cloudflare anycast DNS that carried us through v1.x retires this release.
5. Plugin registry stable enough to depend on
registry.yo.urspace.net graduates from preview to stable. Twelve
verified plugins, seven of which were authored by community
contributors; signed packages with per-author keys; the reduced-
privilege execution model is documented and audit-tested.
/plugins is the browsable surface; yourspace plugin search is the CLI version. Authoring a plugin is one
yourspace plugin publish call against a Go binary that follows
the CLI's flag convention.
What v1.x → v2.0 produced, broadly
Stepping back from any one release, the eighteen months between v1.0.2 and v2.0 covered three distinct evolutionary arcs:
Platform → network (Q3-Q4 2026). Edge functions GA, KV, third instance, probe-fleet-driven public status. The "single-node service" framing finished retiring at v1.0.3.
Indie → small teams → collectives (Q4 2026 - Q1 2027). Team accounts, billing tiers, reseller, federation onboarding. By v1.1 the home page picked up its second framing line; by v1.2 federated sub-collectives ran as their own micro-platforms. The collective-billing rollup is what made hosting a writers' collective or a school district feel native rather than bolted-on.
Network → enterprise-grade fabric (Q2-Q4 2027). Authoritative DNS, distributed tracing, chaos pipeline, plugin ecosystem, SOC 2, cross-region consensus. By v2.0 the platform supports the procurement workflows enterprise customers expect without losing the indie shape.
What stayed small
The principle the home page committed to at v1.0 holds at v2.0:
- One config file per site.
yourspace.ymlcarries the same set of fields it carried at v1.0, plus the additions for edge functions, federation membership, and team scoping. The schema is bigger; the file each customer writes typically is not. - Eleven CLI subcommands + plugins on top. No new top-level verb landed for v2.0. The growth went into plugins, where the cost of adding a verb sits with the plugin author rather than with the platform.
- One config; one command; deploy. The Quickstart at /docs/quickstart is structurally the same walkthrough it was at v1.0.
Numbers
- ~38,000 sites hosted across nine regions.
- 280+ TB bandwidth/day on the December peak.
- Eleven SOC 2 control gaps closed during the second audit cycle; zero open at the report's effective date.
- 412 verified custom domains added in November alone.
- The grant + scholarship programme closed 2027 with 184 active recipients across 23 countries; the Indie tier paid for itself on accounts that converted from grants after eighteen months.
What's next
A vision/2.0.x branch (kept private, per
the predictive product convergence
practice) projects the post-v2.0
horizon. Candidates: WASI v2 once upstream lands, per-site
proxy isolation via cgroups or microVMs, a managed-functions
tier that decouples compute from a hosted site. None of those
need to ship for v2.0 to feel complete; all of them are
plausible inputs to a v2.1 or v3.0 conversation.
For now: the customer-facing shape stays small. The fabric beneath it is what scaled. That was the goal.