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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions