Workers-equivalent + CDN

Edge compute & CDN

Functions with immutable versions, rollback and a real WASM datapath — plus tiered cache and edge WAF.

SS-27 Edge owning service45 operations6 sub-capabilities

What it does

Edge compute & CDN

SS-27 is both the CDN and the compute plane on our own PoP fleet. Deploy functions as immutable versions and roll back instantly; wire http / cron / cache-miss triggers; place across PoPs with a pending→active rollout; bind an R2 bucket, KV namespace or env; and execute a real WASM module (not only the deterministic reference model). Underneath, class-driven tiered caching, surrogate-key purge and an edge WAF at parity with the gateway serve the assets the functions produce.

Sub-capabilities

The real surface, grouped.

Functions & immutable versions

Create a function, deploy an immutable version (optionally promoting it), list versions, and roll the active pointer back to any earlier version — deploys are append-only, rollback is instant.

Routes & triggers

Bind route patterns and triggers — http (host + path glob, longest-match wins), cron, or cache-miss — and resolve a host+path to its owning function at request time.

PoP placement & staged rollout

Place a function on all or a named subset of PoPs, then advance a pending→active rollout across the fleet, watching effective placement and rollout state.

Bindings (r2 / kv / env)

Bind an R2 bucket, a KV namespace or an env value to a function; secrets are redacted on read; remove a binding by id.

Real WASM runtime

Upload real wasm bytes for a version and execute the active version's module, alongside the deterministic reference-model invoke; inspect executions and their logs; set runtime limits/policy clamped to bounds.

CDN — tiered cache, purge & edge WAF

Class-driven caching (immutable-asset, api-cacheable, status, registry-blob), a regional shield that collapses duplicate misses, surrogate-key purge (≤5s global), signed-URL verification, and an edge WAF at gateway parity.

Endpoints

Real method + path — SS-27 Edge.

A representative slice of the 45 operations on SS-27. Base: https://api.edge.nexocloud.io/api/v1. Auth is an SS-01 bearer token plus X-Tenant-Id.

POST/api/v1/functionsCreate an edge function.
POST/api/v1/functions/{name}/deployDeploy an immutable version (optionally promote).
GET/api/v1/functions/{name}/versionsList a function's immutable versions.
POST/api/v1/functions/{name}/rollbackRoll the active pointer back to an earlier version.
POST/api/v1/functions/{name}/routesBind a route pattern / trigger to a function.
GET/api/v1/compute/resolveResolve host+path to the owning function (longest glob wins).
POST/api/v1/functions/{name}/placementPlace a function on all or a named subset of PoPs.
POST/api/v1/functions/{name}/rolloutAdvance the pending→active PoP rollout.
POST/api/v1/functions/{name}/bindingsBind an R2/KV/env resource to a function.
POST/api/v1/functions/{name}/wasmUpload real wasm bytes for a version.
POST/api/v1/functions/{name}/execExecute the active version's real wasm module.
GET/api/v1/functions/{name}/metricsPer-function metrics summary.
PUT/api/v1/classes/{class}Upsert a cache class policy.
POST/api/v1/purgeSurrogate-key / path purge across the fleet.
PUT/api/v1/waf/classes/{class}Upsert an edge WAF class.
PUT/api/v1/pops/{name}Upsert a PoP the fleet can place functions on.

Full endpoint catalog →

Worked example

Deploy an edge function — and roll it back

Ship an immutable version, bind an R2 bucket, route it, roll it out to the fleet — then roll back the active pointer in one call if the new version misbehaves.

SS-27 Edge · bash
# 1. Create a function and deploy an immutable version
curl -X POST "$BASE/functions" -H "$AUTH" -H "$TENANT" \
  -d '{"name":"assets-router"}'

curl -X POST "$BASE/functions/assets-router/deploy" -H "$AUTH" -H "$TENANT" \
  -d '{"code":"export default { fetch(req, env){ /* serve from R2 */ } }","promote":true}'
#  → { "version": "v7", "active": "v7" }

# 2. Bind the R2 bucket and route http traffic to it
curl -X POST "$BASE/functions/assets-router/bindings" -H "$AUTH" -H "$TENANT" \
  -d '{"kind":"r2","name":"ASSETS","ref":"site-assets"}'

curl -X POST "$BASE/functions/assets-router/routes" -H "$AUTH" -H "$TENANT" \
  -d '{"trigger":"http","host":"cdn.acme.io","path":"/assets/*"}'

# 3. Place + roll out across the PoP fleet (pending → active)
curl -X POST "$BASE/functions/assets-router/placement" -H "$AUTH" -H "$TENANT" \
  -d '{"pops":"all"}'
curl -X POST "$BASE/functions/assets-router/rollout" -H "$AUTH" -H "$TENANT"
#  → { "rollout": "active", "pops_active": 9, "pops_total": 9 }

# 4. Bad version? Roll the active pointer back instantly.
curl -X POST "$BASE/functions/assets-router/rollback" -H "$AUTH" -H "$TENANT" \
  -d '{"to":"v6"}'
#  → { "active": "v6" }   # v7 stays on record, immutable

Versions are append-only and immutable; rollback flips a pointer, it doesn't redeploy. Placement and rollout are observable state, so a staged fleet rollout can be halted mid-flight.

Architecture placement

Where it sits on the plane.

SS-27 owns the PoP fleet — it is where cache and compute meet the request. The control plane governs lifecycle, placement, routing and bindings; a V8-isolate/WASM runtime is the production datapath.

Compute
Immutable versions + instant rollback; real wasm datapath alongside a deterministic reference model.
Bindings
r2 → SS-02 buckets, kv, env; served to the edge means zero-rated egress from the origin.
CDN
Class-driven tiered cache, regional shield, surrogate-key purge ≤5s, signed URLs.
Placement
PoPs come from SS-57 anycast control; functions place onto that fleet with a staged rollout.