Skip to content

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

@aram356

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions