Skip to content

Implement local provisioning across all adapters #288

Open
0 of 9 issues completed
Open

Description

@aram356

Description

Track local provisioning across Axum, Cloudflare, Fastly and Spin. The implementation exists on PR #287, which remains open; its branch-level “delivered” status does not mean the feature is on main. main ProvisionArgs still has no local flag.

Local mode must synthesize minimal manifests, merge bindings and emit adapter-local environment state without cloud CLI/API operations. Dry-run uses a real staged project copy and reports redacted differences. The July amendment covers all five generated/gitignored manifests: axum.toml, wrangler.toml, fastly.toml, spin.toml and runtime-config.toml.

Steps to reproduce

Inspection steps (no provisioning or CI execution):

  1. Inspect main ProvisionArgs and main provision orchestration.
  2. Compare the nine sections of local-provision plan with main.
  3. Review the still-open umbrella PR #287 and its amendments.

Expected behavior

Fresh or existing projects can reconcile local adapter resources safely and idempotently; dry-run leaves the original project unchanged and never leaks secret values or temporary paths.

Impact

Developers currently need tracked provider manifests and manual local-resource setup. The branch implementation has not yet become the supported mainline contract.

Proposed fix

Review, reconcile with current main and merge PR #287 with sections #289, #290, #291, #292, #293, #294, #295, #296, #297. Preserve renamed/nested adapter crate support, distinct Spin component/crate identities, strict path containment, env redaction including commented assignments, full typed dry-run preflight and correct nested Spin env-file loading. Reconcile Fastly local wiring with PR #381; do not restore its removed runtime-env descriptor architecture.

Keep automatic Cloudflare preview-namespace capture, local --gen-secrets, sync-deployed and OS-level filesystem sandboxing outside this epic.

Done when

  • All nine child sections are merged and their acceptance criteria hold on main.
  • All five adapter manifests are generated and gitignored, including Axum per the July amendment.
  • Every adapter provisions locally without cloud CLI/API calls and preserves operator edits.
  • Dry-run stages actual writes, redacts env values and leaves the source worktree unchanged.
  • Typed provision validates config and emits placeholders consistently with each runtime.
  • Renamed/nested crate and manifest paths and distinct Spin component selectors work.
  • All required CI gates and the full adapter smoke matrix pass, with a clean worktree afterward.

Required repository verification: cargo fmt --all -- --check; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo test --workspace --all-targets; cargo check --workspace --all-targets --features "fastly cloudflare spin"; cargo check -p edgezero-adapter-spin --target wasm32-wasip2 --features spin. These are acceptance requirements, not tests executed during this audit.

Related

local-provision specification; local-provision plan; PR #287 is the fully covering open implementation PR. PR #381 is related mainline Fastly architecture.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions