Skip to content

Epic: provision --local implementation #288

Description

@aram356

Epic tracking the provision --local workstream.

Source artifacts

Goal

Add --local to edgezero provision. Local mode synthesises minimal per-adapter manifests, merges per-store bindings, writes adapter-local env files, and never shells out to cloud CLIs. Dry-run stages a real tempdir copy and diffs the result back. Cloudflare/Fastly/Spin manifests become gitignored generated state; Axum's axum.toml stays tracked.

Sub-issues (one per plan Section)

Dependency order

Section 1 ──┬──> Section 3 ──┬──> Section 5 ──> Section 6 ──┬──> Section 9
            │                │                              │
Section 2 ──┤                └──> Section 4 ─────────────────┘
            │                                                │
            └────────────────────────────────────────────────┴──> Section 7 ──> Section 8

Section 1 + Section 2 land first (independent). Section 3 depends on both. Section 4 can run in parallel with Section 3 once Section 1 lands. Section 5 needs 3 + 4. Section 6 needs 5. Section 7 needs 5/6 for the env files it loads. Section 8 needs 7. Section 9 is the umbrella gate.

CI gates (per 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

Out of scope

Listed in the spec's "Out of scope" section — most notably: automatic Cloudflare preview-namespace capture, provision --local --gen-secrets, sync-deployed command, and OS-level filesystem sandboxing for adapter dispatch.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Epic.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions