You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Spin adapter compiled the example config in at build time
(`include_str!`), so it ignored `ts config push --adapter spin` and could
never serve real operator config. Load Settings at startup from a Spin
key-value store instead, matching the Fastly/Axum config-store path.
- Add `SpinKvConfigStore`, a Spin key-value-backed `PlatformConfigStore`
(async `spin_sdk::key_value`, wasm+spin gated). This is distinct from the
variable-backed `ConfigStoreHandleAdapter`: a multi-kilobyte app-config
blob does not fit Spin's flat variable namespace.
- `build_state` now loads via `get_settings_from_config_store` on the Spin
runtime (store id and blob key both `app_config`); native test builds keep
the embedded example config since Spin host KV is unavailable there.
- Grant the component the `app_config` KV label in spin.toml and declare its
backend in a new runtime-config.toml; `serve` passes `--runtime-config-file`.
- Unseeded/unreadable store fails closed (503) via the startup error router.
- Ignore `.spin/` local runtime state; update the architecture doc.
Verified: wasm build, native tests, clippy (wasm + native), and a live
`spin up` unseeded run (503). The seeded read is verified on every local
layer (the pushed blob is a valid envelope at store/key `app_config`) but
not live end-to-end: the installed Spin CLI (4.0) is newer than the Spin 2-3
SQLite KV schema that `ts config push --local` writes, so a Spin-2/3 runtime
(or an edgezero-cli update) is needed to confirm seeded -> 200.
- Production-capable deployment target for the Spin runtime
69
-
-Platform services (config store, secret store, KV) backed by Spin component variables and the EdgeZero KV handle
69
+
-Startup app-config blob loaded from a Spin key-value store (`app_config`, seeded by `ts config push --adapter spin`); per-request request-signing config and secrets read from Spin component variables; KV via the EdgeZero KV handle
70
70
- Outbound HTTP via `spin_sdk::http::send` — no configurable per-request timeout (see rustdoc)
71
71
- Single auction provider only; multi-provider fan-out requires the Fastly adapter
0 commit comments