Skip to content

feat: provision --local (umbrella PR)#287

Draft
aram356 wants to merge 1 commit into
mainfrom
feature/provision-local-impl
Draft

feat: provision --local (umbrella PR)#287
aram356 wants to merge 1 commit into
mainfrom
feature/provision-local-impl

Conversation

@aram356

@aram356 aram356 commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Umbrella PR for the provision --local workstream.

Closes #288.

Source artifacts

Architecture

A new ProvisionMode::Local arm threads through Adapter::provision. Local mode:

  • synthesises minimal per-adapter manifests on a clean clone via toml_edit::DocumentMut (CLI-owned bootstrap, before validation)
  • merges per-store bindings + env labels on top
  • writes adapter-specific env files (.edgezero/.env, .dev.vars, <spin_crate>/.env)
  • never shells out to cloud CLIs

Dry-run stages a real fs::copy into a tempfile::TempDir and diffs the result back. Cloudflare/Fastly/Spin manifests become gitignored generated state; Axum's axum.toml stays tracked. Generated <app-cli> runs run_provision_typed::<C> to add #[secret]-field placeholders the bundled edgezero can't see.

Execution plan

This umbrella PR opens as draft and stays draft. Each plan section gets its own follow-up PR that merges into this branch; once Sections 1–9 are all green, this PR converts to ready-for-review and merges to main.

Section breakdown

Each section tracks one sub-issue:

CI gates (from the plan's Global Constraints)

  • 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

Test plan

  • All five CI gates pass on the merged branch
  • All four smoke scripts (scripts/smoke_test_{config,kv,secrets,config_key_override}.sh) pass with warm-up
  • Per-adapter contract tests cover the four provision_local_* cases + Spin's env-label alignment quartet (Section 9)
  • Worktree is clean after smoke matrix (Task 43 step 4 — umbrella gate)

Empty tracking commit for the implementation work tracked in:
  docs/superpowers/plans/2026-06-27-provision-local.md

Issues:
  - Epic: <epic-issue-url>
  - Per-section sub-issues linked from the epic.

This PR opens as a DRAFT and stays draft until Section 1 lands its
first real commit. Each section opens as its own follow-up PR
that lands here before the umbrella merges to main.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic: provision --local implementation

1 participant