Skip to content

Minor updates to documentation and dependencies - #6

Merged
aram356 merged 2 commits into
mainfrom
feature/minor-updates
Nov 3, 2025
Merged

Minor updates to documentation and dependencies#6
aram356 merged 2 commits into
mainfrom
feature/minor-updates

Conversation

@aram356

Copy link
Copy Markdown
Contributor

No description provided.

@aram356
aram356 merged commit 00c033d into mainNov 3, 2025
2 checks passed
@aram356
aram356 deleted the feature/minor-updates branch November 3, 2025 17:13
aram356 added a commit that referenced this pull request Aug 2, 2026
Spec-alignment (findings #1, #6, #7): synthesised manifests now match
the spec's normative baselines exactly, verified by per-adapter
exact-content tests.
- Cloudflare drops the `[build]` table; Fastly drops the empty
`authors` array; Spin drops the `[component.<id>.build]` table.
- Spin `allowed_outbound_hosts` becomes opt-in via
`[adapters.spin.adapter].allowed_outbound_hosts`, defaulting to
Spin's deny-all baseline. Both `edgezero new` and clean-clone read
the same manifest, so the emitted file stays byte-identical.
- Fastly cloud `provision` no longer auto-captures `service_id` from
the gitignored, per-machine `fastly.toml`. Per the v1 contract the
writeback is a documented one-time manual copy after `fastly compute
deploy`; auto-capturing it let a stale local file overwrite the
team's committed id.
Correctness (findings #2, #3, #4, #8):
- Cloudflare cloud `provision` reconciles namespace ids against the
tracked `[adapters.cloudflare.deployed]` block: a local id that
disagrees aborts with a conflict error instead of silently
overwriting the committed one, and a fresh clone whose wrangler.toml
lacks the id has it restored rather than creating a duplicate remote
namespace.
- Fastly typed-secret provisioning seeds the Viceroy
`[[local_server.secret_stores.<name>]]` table under the resolved
PLATFORM name (`TypedSecretEntry.platform`), the name the runtime
opens, instead of the raw logical id -- an env override no longer
points the runtime at a store the seed never created.
- Symlink guards extended to the remaining provision/push write sites:
`write_baseline_to_disk`, Axum's local-config JSON, and Spin's local
KV SQLite db. `env_file::reject_symlinked_target` is now the shared
final-component check.
- Deployed-field ownership is enforced in core `Manifest` validation
(canonical adapter map), so reduced-feature builds and non-CLI
readers reject a field placed under an adapter that does not own it,
not just the CLI's registry-based check.
Also removes planning/review provenance markers (PR-round, Task, Stage,
Phase, review-priority) from code comments, and corrects the CHANGELOG
lock-path reference.
aram356 added a commit that referenced this pull request Aug 19, 2026
…ects
Two P0 blockers (both live-verified):
- Spin build no longer TRUNCATES its own artifact. `refresh_declared_source`
compared lexical paths, so the default `source` (`../../target/.../x.wasm`,
a relative path with `..`) never matched the normalised artifact and
`fs::copy` copied the file onto itself -> 0 bytes. Now guarded by a
canonicalize-based same-file check (also for the conventional refresh), plus
containment (refuse a `source` resolving outside the workspace or through a
symlink) and single-component matching (#1, #5).
- Fresh Cloudflare scaffolds can build/serve/deploy. The synthesised
`wrangler.toml` now declares `[build] command = "worker-build --release"`
(main points at the worker-build-generated shim), and the adapter drops its
`[commands]` shell block so build/serve/deploy route through the registry
dispatch, which passes `--config <manifest>` (also fixes custom manifest
paths being ignored) (#2, #7).
Spin:
- `[adapters.spin.adapter].cloud = true` is the SOLE Fermyon Cloud selector;
the legacy deploy-command heuristic and its `manifest_adapter_deploy_cmd`
field are removed, and `config diff` threads the flag like `config push` (#3).
- `edgezero serve` forwards parent-shell `EDGEZERO__*` overrides to the guest
via `spin up --env` (highest precedence) so a shell override reaches the
sandboxed component (#4).
- deploy uses `spin cloud deploy` (bare `spin deploy` needs a plugin on
Spin 3+/4) (#6).
Cloudflare / Axum (via subagents):
- typed secret keys are validated for `.dev.vars` round-trip (empty/=/#/
newline/whitespace) (#16); local push refuses a `.wrangler` symlink escape
(#11); axum runtime honours `EDGEZERO_MANIFEST` when locating `.edgezero`
(#8).
Fastly:
- cloud provision now writes the per-store `__NAME` runtime mappings into
`edgezero_runtime_env` so a renamed cloud store is reachable (#10); the
dry-run preflight redacts malformed-manifest parse errors and models the
real writer's inline-toml rejection (#13).
Convergence (via subagent): reprovisioning converges managed `__NAME`
overlays across env_file + all four adapters via a new
`upsert_lines_with_header` (#9).
CLI:
- dry-run staging refuses a TMPDIR inside the project (self-recursive copy)
and no longer follows a symlinked live path into the diff output (#12);
- cloud provision preflights manifest writability before mutating the account,
so an unwritable manifest can't orphan a created resource (#15).
Sign up for freeto 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.

1 participant

@aram356