Skip to content

CLI Extensions — Stage 2: Manifest + runtime rewrite (atomic, all four adapters) #261

Description

@aram356

Part of the EdgeZero CLI Extensions effort — stage 2 of 8. Largest stage; review hotspot.

Precondition: PR #253 (feat/spin-store-support) must be merged first — this stage wires SpinKvStore / SpinConfigStore / SpinSecretStore into the multi-store runtime.

Scope (atomic — manifest + runtime ship together under the hard cutoff): rewrite the [stores] / [adapters.*] manifest schema to the logical-id + per-adapter-mapping model with the capability matrix (legacy fields become hard load errors); make ConfigStore::get async; add KvError::Unsupported + KvError::LimitExceeded; introduce BoundKvStore / BoundConfigStore / BoundSecretStore and id-keyed RequestContext accessors + StoreRegistry; make Hooks / ConfigStoreMetadata / the app! macro id-keyed; refactor Kv / Secrets extractors to default() / named() and add Config; rewrite all four adapters' store impls (Cloudflare config [vars] → KV); remove [stores.config.defaults]; migrate examples/app-demo/edgezero.toml + handlers (store-accessor change only); publish docs/guide/manifest-store-migration.md.

Ship gate: multi-store handlers work on axum/cloudflare/fastly/spin; async config reads work; all four CI gates + the wasm32 spin gate green.

Design spec: §8, §6.6, §6.7, §6.9 — Implementation plan: Stage 2.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions