Align guide docs with the code on main - #373
Open
aram356 wants to merge 2 commits into
Open
Conversation
A page-by-page audit of docs/guide against the current crates found names that no longer exist, behaviour descriptions the code contradicts, and public surface with no coverage. This commit fixes what the audit turned up. Phantom names: dispatch_with_config / dispatch_with_config_handle (fastly, cloudflare, architecture), AxumProxyClient::default(), EDGEZERO_SECRET_ prefix, wrangler secret put --binding, diff.rs entry point, dispatch_with_*_handle, crate-root imports for types that live in proxy:: / context:: / dev_server::. Behaviour: response streaming is preserved only on Cloudflare (Fastly, Spin and Axum buffer); duplicate routes panic at build rather than first-registered-wins; Axum honours the axum.toml port through the CLI and reads EDGEZERO__LOGGING__LEVEL, not edgezero.toml; Axum KV files are .edgezero/kv-<slug>-<hash>.redb; healthcheck emits status-code only when an HTTP status arrived and degrades to service-level without a token; EDGEZERO_MANIFEST and the missing-manifest fallback apply to build/deploy/serve only; Cloudflare local push selects by --binding; deploy actions use cache/restore@v6 + cache/save@v6 and no checkout; the cache key includes the workspace path and build-args hash. Coverage: Fastly custom entry points (runtime_env_config, dispatch_with_registries, RUNTIME_ENV_STORE_NAME and the two footguns); FastlyService / CloudflareService builders; store extractors (Kv, Config, Secrets, AppConfig<C>); FnMiddleware and middleware_arc; app! argument list; adapter metadata component/host/port and auth-* command overrides; EDGEZERO__LOGGING__* rows; config push --staging as the supported staging path; Spin everywhere it was missing (landing page, platform table, architecture, roadmap, overview tests and capability table, and Logging / Proxy / Context / Testing sections on its page); Axum KV and Secret Store sections; Cloudflare Secret Store and the kv/config merged-id collision; scaffold tree and generated CLI surface; KV page added to the sidebar.
The dev server derives .edgezero/kv-<slug>-<hash>.redb for every declared id (kv_store_path in dev_server.rs); the hard-coded .edgezero/kv.redb default the module doc described no longer exists.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/guideagainst the current crates found names that no longer exist, behaviour the code contradicts, and public surface with no coverage. This PR fixes what the audit turned up, so a reader following the guides lands on APIs and commands that exist and behave as described.Changes
docs/guide/adapters/fastly.mddispatch_with_config*with theFastlyServicebuilder; add Custom entry points (runtime_env_config,dispatch_with_registries,RUNTIME_ENV_STORE_NAME, both footguns); buffering,-C,manifest_version = 3,[setup],proxy::importdocs/guide/adapters/cloudflare.mdCloudflareServicebuilder;worker-buildbuild command;context::/proxy::imports;wrangler kv key put; Secret Store section; kv/config merged-id collisiondocs/guide/adapters/axum.mddev_server::run_app,AxumProxyClient::try_new(), bind-address precedence,EDGEZERO__LOGGING__LEVEL,owns_logging; KV Storage and Secret Store sections; KV no longer listed as unavailabledocs/guide/adapters/spin.mdrequired = truevsdefault = ""docs/guide/adapters/overview.mddocs/guide/streaming.md,proxying.mdSpinProxyClient,AxumProxyClient::try_new()?docs/guide/routing.md,handlers.md,middleware.md,kv.mdKv,Config,Secrets,AppConfig<C>);FnMiddleware/middleware_arc; Axum KV file namingdocs/guide/configuration.mdapp!argument table; adapter metadatacomponent/host/port;auth-*command overrides;rename_allandstore_refrules; compiling secret-resolution exampledocs/guide/blob-app-config-migration.mdconfig push --stagingas the supported staging path; Axum env-var andwrangler secret putforms; canary key in examples;config.rsdiff entry pointdocs/guide/manifest-store-migration.mdEDGEZERO__LOGGING__*rows; dropdispatch_with_*_handledocs/guide/cli-reference.md,cli-walkthrough.md-C/--manifest-pathserve and deploy forms; healthcheck outputs and token behaviour; Cloudflare--binding --local;pushed-key/pushed-store;EDGEZERO_MANIFESTscope;my-app.tomlin the tree; lifecycle commands in the generated CLIdocs/guide/deploy-github-actions.md,docs/specs/edgezero-deploy-github-action.mdcache/restore@v6+cache/save@v6, nocheckout; cache-key components; artifact retention and job summarydocs/guide/architecture.md,what-is-edgezero.md,roadmap.md,docs/index.mddispatch_with_configdropped from the diagramdocs/.vitepress/config.mtscrates/edgezero-adapter-axum/src/key_value_store.rs.edgezero/kv-<slug>-<hash>.redb, not the removed.edgezero/kv.redbdefaultCloses
Closes #372
Closes #361
Closes #77
Test plan
cargo fmt --all -- --checkcd docs && npm run lint && npm run format && npm run builddocs/guidereports only placeholder app names and third-party namescargo test --workspace --all-targets(no Rust code changed; one//!comment)cargo clippy --workspace --all-targets --all-features -- -D warnings(not applicable)cargo check --workspace --all-targets --features "fastly cloudflare spin"(not applicable)examples/app-demoworkspace (not applicable)edgezero serve --adapter axum(not applicable)Checklist
{id}syntax (not:id)edgezero_core(nothttpcrate)KvRegistry/ConfigRegistry/SecretRegistry(not the legacy single-handle setters) — see spec §6.6