Skip to content

Fermyon Spin entry point #732

Closed
Closed

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions