Description
New trusted-server-adapter-spin crate. Entry point using #[http_component] and edgezero_adapter_spin::run_app(). Construct RuntimeServices with Spin-backed trait implementations (SpinConfigStore, SpinKvStore, SpinSecretStore, SpinProxyClient). Admin key routes. CI jobs for native + wasm32-wasip1 targets.
Notes
- Spin target is
wasm32-wasip1 (same as Fastly) — WASI clock support is present, so std::time::Instant likely works. Audit auction/orchestrator.rs and proxy.rs before assuming no cleanup is needed.
- Client geo/IP is extracted from Spin-specific headers (
spin-client-addr, spin-full-url) via SpinRequestContext, not a runtime context object.
- EdgeZero Spin adapter is Preview status — validate behavior of
SpinConfigStore, SpinKvStore, and SpinSecretStore against the edgezero-adapter-spin crate.
- Add
spin.toml configuration file analogous to cloudflare.toml.
Done when
- Route parity + basic-auth gate tests pass (native host target)
- Admin key routes work
- Crate host-compilable (cfg-gated shims for
wasm32-only APIs)
- Spin CI jobs added (native compile-check +
wasm32-wasip1 build)
spin.toml present and valid
- Per-PR gates pass
Blocked by
PR 15 (#496)
References
Description
New
trusted-server-adapter-spincrate. Entry point using#[http_component]andedgezero_adapter_spin::run_app(). ConstructRuntimeServiceswith Spin-backed trait implementations (SpinConfigStore,SpinKvStore,SpinSecretStore,SpinProxyClient). Admin key routes. CI jobs for native +wasm32-wasip1targets.Notes
wasm32-wasip1(same as Fastly) — WASI clock support is present, sostd::time::Instantlikely works. Auditauction/orchestrator.rsandproxy.rsbefore assuming no cleanup is needed.spin-client-addr,spin-full-url) viaSpinRequestContext, not a runtime context object.SpinConfigStore,SpinKvStore, andSpinSecretStoreagainst theedgezero-adapter-spincrate.spin.tomlconfiguration file analogous tocloudflare.toml.Done when
wasm32-only APIs)wasm32-wasip1build)spin.tomlpresent and validBlocked by
PR 15 (#496)
References
docs/internal/EDGEZERO_MIGRATION.md— Phase 4edgezero-adapter-spin— https://github.com/stackpop/edgezero