Skip to content

Fermyon Spin entry point #732

@prk-Jr

Description

@prk-Jr

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions