Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
e761628
Exclude Cloudflare adapter from wasm32-wasip1 test job
prk-Jr Apr 20, 2026
1a2cb46
Address round-3 review findings
prk-Jr Apr 21, 2026
e8c06e9
Address PR review: add body-size caps and remove orchestrator duplica…
prk-Jr Apr 21, 2026
6d9d96a
Merge feature/edgezero-pr12-handler-layer-types: resolve body-cap and…
prk-Jr Apr 21, 2026
4b27087
Address PR review: fmt, testlight body cap, auction constant, stale R…
prk-Jr Apr 21, 2026
3bd4a1b
Merge feature/edgezero-pr13: use AUCTION_MAX_BODY_BYTES and testlight…
prk-Jr Apr 21, 2026
373c8e4
Address PR14 review findings: middleware finalize and missing HTTP me…
prk-Jr Apr 21, 2026
6c016d8
Make AppState private — not part of any public API
prk-Jr Apr 21, 2026
d8060d3
Address PR15 review findings: diagnostic regression, header dedup, co…
prk-Jr Apr 21, 2026
6b6c221
Address PR16 review findings: unused deps, stale lockfile, middleware…
prk-Jr Apr 21, 2026
0a15d1d
Fix fixed-port TIME_WAIT flakiness and add send_async/select divergen…
prk-Jr Apr 21, 2026
a780034
Restore request-scoped Axum HTTP client and fix dynamic-port logging
prk-Jr Apr 22, 2026
eb6a9e9
Resolve review findings
prk-Jr Apr 22, 2026
9a1fd41
Resolve PR review findings
prk-Jr Apr 23, 2026
cd9cda7
Resolve PR review findings
prk-Jr Apr 23, 2026
3a53f33
Resolve PR15 consent and backend review findings
prk-Jr Apr 23, 2026
54d191b
Merge feature/edgezero-pr14-entry-point-dual-path into feature/edgeze…
prk-Jr Apr 23, 2026
cf0df8e
Resolve PR review findings
prk-Jr Apr 25, 2026
3bb3006
Use append_header in place of set_header
prk-Jr Apr 26, 2026
ed3c161
Merge branch 'feature/edgezero-pr11-utility-layer-migration-v2' into …
prk-Jr Apr 26, 2026
7321e79
fix lint
prk-Jr Apr 26, 2026
dfa0386
Merge branch 'main' into feature/edgezero-pr9-wire-signing-to-store-p…
prk-Jr Apr 26, 2026
e0c9bb8
Merge branch 'feature/edgezero-pr9-wire-signing-to-store-primitives' …
prk-Jr Apr 26, 2026
5f5b067
Merge branch 'feature/edgezero-pr10-abstract-logging-initialization' …
prk-Jr Apr 26, 2026
1d22f8c
Route Fastly cookie calls through compat bridge after PR10 merge
prk-Jr Apr 26, 2026
8eb72ee
Remove unused Logger import
prk-Jr Apr 26, 2026
2986f33
Merge branch 'feature/edgezero-pr10-abstract-logging-initialization' …
prk-Jr Apr 26, 2026
caaface
Merge branch 'feature/edgezero-pr11-utility-layer-migration-v2' into …
prk-Jr Apr 27, 2026
a2036eb
Merge branch 'feature/edgezero-pr12-handler-layer-types' into feature…
prk-Jr Apr 27, 2026
16c0978
Merge branch 'feature/edgezero-pr13-integration-provider-type-migrati…
prk-Jr Apr 27, 2026
fb8beac
fix cargo fmt
prk-Jr Apr 27, 2026
a94ddd8
resolve PR review findings
prk-Jr Apr 27, 2026
b901037
Added E2E tests dispatch_auth_rejected_401_carries_finalize_headers, …
prk-Jr Apr 27, 2026
2e128f7
Merge feature/edgezero-pr14-entry-point-dual-path into PR15
prk-Jr Apr 27, 2026
f5b7097
fix cargo fmt
prk-Jr Apr 27, 2026
725ccdc
Resolve PR review suggestions
prk-Jr Apr 27, 2026
0dcc750
Resolve PR review findings
prk-Jr Apr 27, 2026
d3138fd
Merge feature/edgezero-pr15-remove-fastly-core into PR16
prk-Jr Apr 27, 2026
6d1184d
Complete PR15 merge and restructure workspace for mixed-target adapters
prk-Jr Apr 28, 2026
b18fd2b
Merge feature/edgezero-pr16-axum-dev-server into PR17
prk-Jr Apr 28, 2026
b99c48f
Resolve PR review findings
prk-Jr Apr 28, 2026
f9a4db0
Resolve PR review findings
prk-Jr Apr 28, 2026
1b9dde3
Add alias for clouflare tests
prk-Jr Apr 28, 2026
4867398
Fix lint error
prk-Jr Apr 28, 2026
9a0d38c
Set default-members to fastly adapter so Viceroy can locate the binary
prk-Jr Apr 29, 2026
e4b4730
Merge feature/edgezero-pr16-axum-dev-server
prk-Jr Apr 29, 2026
76df6f8
Resolve PR review findings
prk-Jr Apr 30, 2026
2a908d4
Merge branch 'main' into feature/edgezero-pr11-utility-layer-migratio…
prk-Jr Apr 30, 2026
65d1e2d
Fix fmt lint
prk-Jr Apr 30, 2026
73734dd
Rename synthetic_id_cookie_value_is_safe → ec_cookie_value_is_safe
prk-Jr Apr 30, 2026
c23663c
Resolve PR review findings
prk-Jr Apr 30, 2026
ca5585c
Merge branch 'feature/edgezero-pr11-utility-layer-migration-v2' into …
prk-Jr Apr 30, 2026
86bd21e
Resolve PR review findings
prk-Jr Apr 30, 2026
9694980
Merge branch 'feature/edgezero-pr12-handler-layer-types' into feature…
prk-Jr Apr 30, 2026
c17fa27
Address PR review findings
prk-Jr Apr 30, 2026
f797f56
Resolve PR 624 review findings
prk-Jr May 12, 2026
e50068e
Merge main into feature/edgezero-pr12-handler-layer-types
prk-Jr May 12, 2026
cd4c621
Call StreamingBody::finish() to properly terminate chunked response
prk-Jr May 12, 2026
e093d01
Apply cargo fmt formatting
prk-Jr May 12, 2026
bf31cca
Resolve PR 626 review findings
prk-Jr May 12, 2026
f360b82
Apply cargo fmt formatting
prk-Jr May 12, 2026
28205a0
Merge feature/edgezero-pr12-handler-layer-types into PR13
prk-Jr May 12, 2026
611c68f
Merge feature/edgezero-pr13-integration-provider-type-migration
prk-Jr May 12, 2026
3cca51c
Address review Non blocker findings
prk-Jr May 12, 2026
50dc61f
Restore EdgeZero consent KV wiring
prk-Jr May 12, 2026
4bb18cb
Merge EdgeZero PR14 updates into PR15 branch
prk-Jr May 12, 2026
978fbb2
Resolve PR review findings and add startup listen log
prk-Jr May 12, 2026
130de76
Merge feature/edgezero-pr15-remove-fastly-core into PR16
prk-Jr May 12, 2026
6574790
Address PR 628 review findings
prk-Jr May 13, 2026
314575b
Fix .gitignore comment: attribute .edgezero/ to upstream framework
prk-Jr May 13, 2026
bff1adc
Remove unused backend.rs — duplicate DEFAULT_FIRST_BYTE_TIMEOUT alrea…
prk-Jr May 13, 2026
ed77810
Resolve PR review findings
prk-Jr May 13, 2026
547c6f1
Merge feature/edgezero-pr16-axum-dev-server and add Cloudflare aliases
prk-Jr May 13, 2026
b4851c4
Fix integration test failure
prk-Jr May 13, 2026
3df4232
Merge branch 'feature/edgezero-pr16-axum-dev-server' into feature/edg…
prk-Jr May 13, 2026
15206b6
Fix cargo clippy fastly
prk-Jr May 13, 2026
189c57c
Update pr review findings
prk-Jr May 14, 2026
6475490
Resolve PR review findings: Axum fallback method parity and stale cli…
prk-Jr May 14, 2026
a499f93
Add Phase 5 verification plan for PR-18
prk-Jr May 20, 2026
ede4e81
Add route smoke tests for all Cloudflare adapter routes
prk-Jr May 20, 2026
acd3f5d
Fix rustfmt formatting in Cloudflare route smoke tests
prk-Jr May 20, 2026
7efa2ff
Add basic-auth parity tests to Axum and Cloudflare adapters
prk-Jr May 20, 2026
69d3693
Fix unwrap_or and comment inconsistency in basic-auth parity tests
prk-Jr May 20, 2026
75fac49
Add admin key route full path coverage to Axum and Cloudflare adapters
prk-Jr May 20, 2026
e891f5e
Tighten storage-fail assertion and add duplicate context comments
prk-Jr May 20, 2026
72be307
Add cross-adapter in-process parity test suite (Axum vs Cloudflare)
prk-Jr May 20, 2026
4f79021
Fix parity test review issues: expect messages, dead if guard, unused…
prk-Jr May 20, 2026
040a77b
Add error-correlation unit tests for PlatformResponse backend_name
prk-Jr May 20, 2026
1e2979d
Add HTML rewriting golden tests, response size check, and Criterion b…
prk-Jr May 20, 2026
0e4d2ea
Add criterion::black_box to benchmark input for measurement purity
prk-Jr May 20, 2026
24f122f
Add cross-adapter parity and benchmark CI gates for Phase 5 verification
prk-Jr May 20, 2026
99967c8
Add inline comment explaining -- --test flag in benchmark CI step
prk-Jr May 20, 2026
8a509ac
Update Cargo.lock files after adding parity test dependencies
prk-Jr May 20, 2026
c114209
Pin axum/tower/tokio versions in integration-tests to match workspace
prk-Jr May 20, 2026
84cbdfe
Pin tokio to exact workspace version =1.52.3 in integration-tests
prk-Jr May 20, 2026
95fde69
Create parent directory before writing build output config
prk-Jr May 20, 2026
0b2228c
Remove redundant wrong-credentials tests from admin key route coverage
prk-Jr May 20, 2026
fdef759
Fix admin_rotate_unauthenticated_parity: assert both adapters return 401
prk-Jr May 20, 2026
5123bd4
Add clippy gate for integration-tests crate in test-parity CI job
prk-Jr May 20, 2026
641bfde
Extract MAX_GROWTH_FACTOR constant in html_processor growth test
prk-Jr May 20, 2026
d7670aa
Fix trailing blank line in Cloudflare routes test file
prk-Jr May 20, 2026
b6a8894
Add clippy component to test-parity toolchain setup
prk-Jr May 20, 2026
a521479
Use multi_thread tokio flavor for all CF adapter route tests
prk-Jr May 20, 2026
5f91da2
Add first-party route smoke tests to Axum adapter
prk-Jr May 20, 2026
c0f2eec
Strengthen parity test assertions for unauthenticated admin routes
prk-Jr May 20, 2026
161c41e
Document tokio exact pin in integration-tests Cargo.toml
prk-Jr May 20, 2026
b30581c
Merge branch 'main' into feature/edgezero-pr12-handler-layer-types
prk-Jr May 21, 2026
0f36454
Generate plan for spin adapter
prk-Jr May 22, 2026
f9e46dd
Resolve PR review findings: Axum/Fastly parity and stale docs
prk-Jr May 22, 2026
a6e1073
Resolve PR review findings: Axum/Fastly parity and stale docs
prk-Jr May 23, 2026
01fd4c1
Tighten the spin adapter integration plan
prk-Jr May 23, 2026
b29b377
Add Fermyon Spin adapter with EdgeZero rev bump and CI
prk-Jr May 25, 2026
89ab20a
Bump worker-build to ^0.8 for worker 0.8 compatibility
prk-Jr May 25, 2026
d5b745d
Reject digit-leading KIDs in validate_kid
prk-Jr May 27, 2026
4c4f1b6
Fix Spin adapter WASI HTTP proxy and variable encoding
prk-Jr May 27, 2026
58b754a
Resolve PR 624 round-6 review findings
prk-Jr May 28, 2026
62923fd
Merge branch 'main' into feature/edgezero-pr12-handler-layer-types
prk-Jr May 28, 2026
f551544
Resolve PR 626 round-1 review findings
prk-Jr May 28, 2026
2b17d4c
Merge feature/edgezero-pr12-handler-layer-types into PR13
prk-Jr May 28, 2026
1973b5d
Resolve PR 628 round-1 review findings
prk-Jr May 28, 2026
8a83c5e
Merge feature/edgezero-pr13-integration-provider-type-migration into …
prk-Jr May 28, 2026
72ddc42
Resolve PR 635 round-1 review findings
prk-Jr May 28, 2026
5225c01
Merge feature/edgezero-pr14-entry-point-dual-path into PR15
prk-Jr May 28, 2026
746993c
Resolve PR 643 round-2 review findings
prk-Jr May 28, 2026
5f8397c
Merge feature/edgezero-pr15-remove-fastly-core into PR16
prk-Jr May 28, 2026
ed4e225
Fix missing compat::from_fastly_response conversion in edgezero_main
prk-Jr May 28, 2026
e6206a5
Fix dead code and spurious mut from PR15 merge in main.rs
prk-Jr May 28, 2026
5e278d4
Resolve PR 644 round-4 review findings
prk-Jr May 28, 2026
17655cc
Fix Method::from — worker 0.7 implements From<String> not From<&str>
prk-Jr May 28, 2026
e5a36e8
Add compile_error! for cloudflare feature on non-wasm32 targets
prk-Jr May 28, 2026
31862f5
Collapse 13 handler closures into make_handler factory in app.rs
prk-Jr May 28, 2026
70def67
Resolve PR 725 round-1 review findings
prk-Jr May 28, 2026
bee7a39
Merge feature/edgezero-pr18-phase5-verification into spin adapter branch
prk-Jr May 28, 2026
a214f94
Fix Spin publisher HTML processor bypass caused by missing Host header
prk-Jr May 28, 2026
4d10761
Resolve PR 735 round-1 review findings
prk-Jr May 29, 2026
4e51206
Add Spin adapter to public docs and README
prk-Jr May 29, 2026
dc4a7d7
Fix proxy_rebuild_adds_and_removes_params test after tstoken validation
prk-Jr May 29, 2026
254bd2e
Resolve PR review findings: strengthen test assertions and CI gate
prk-Jr May 29, 2026
36e198c
Fix clippy-spin-native failures in app.rs
prk-Jr May 29, 2026
971a7f5
Bound publisher response body size and document interim buffering
prk-Jr Jun 6, 2026
a2af24a
Merge main into feature/edgezero-pr12-handler-layer-types
prk-Jr Jun 7, 2026
acf775a
Add edge_cookie module, test helpers, and integration handle signatures
prk-Jr Jun 7, 2026
78302a2
Fix remaining code review findings from merge
prk-Jr Jun 7, 2026
c229146
Fix cargo fmt lint
prk-Jr Jun 7, 2026
936e721
Resolve merge conflicts from feature/edgezero-pr12-handler-layer-types
prk-Jr Jun 8, 2026
b71da80
Resolve PR 626 round-2 review findings
prk-Jr Jun 8, 2026
6c4b66c
Resolve merge conflicts between PR14 and PR13
prk-Jr Jun 8, 2026
ed065ba
Resolve PR14 round-1 review findings
prk-Jr Jun 8, 2026
04ca534
Update integration-tests lock file to fix CI --locked failure
prk-Jr Jun 8, 2026
63538f5
Update root workspace lock file to match integration-tests versions
prk-Jr Jun 8, 2026
f31ecbf
Resolve merge conflicts and make PR15 compile cleanly
prk-Jr Jun 8, 2026
98dac49
Update integration-tests lock file for getrandom wasm dep and tokio d…
prk-Jr Jun 8, 2026
cfdaf82
Finish tokio removal from trusted-server-core
prk-Jr Jun 8, 2026
cedea8b
Fix stale fastly::Body doc reference in platform/mod.rs
prk-Jr Jun 8, 2026
1c5882b
Merge feature/edgezero-pr15-remove-fastly-core into PR16 (round 2)
prk-Jr Jun 8, 2026
87bbd25
Remove fastly dependency from core via EcKvStore platform trait
prk-Jr Jun 10, 2026
8841e24
Fix adapter tests broken by strict placeholder-secret validation
prk-Jr Jun 10, 2026
02b0605
Address round-4 review findings on Axum dev server PR
prk-Jr Jun 10, 2026
4a2e113
Update integration-tests lock file after fastly removal from core
prk-Jr Jun 10, 2026
18f171b
Merge feature/edgezero-pr16-axum-dev-server into PR17
prk-Jr Jun 10, 2026
8efccb9
Address Cloudflare adapter review findings and fix axum CI wasm target
prk-Jr Jun 10, 2026
d541bbd
Install wasm32-wasip1 target in test-axum CI job
prk-Jr Jun 10, 2026
d9e7217
Merge branch 'feature/edgezero-pr16-axum-dev-server' into feature/edg…
prk-Jr Jun 10, 2026
0be49bb
Merge feature/edgezero-pr17-cloudflare-adapter into PR18
prk-Jr Jun 10, 2026
40e982b
Merge feature/edgezero-pr18-phase5-verification into PR19
prk-Jr Jun 12, 2026
75d85b0
Fix parity-crate clippy violations and bump worker for worker-build 0.8
prk-Jr Jun 12, 2026
79531d6
Merge remote-tracking branch 'origin/main' into feature/edgezero-pr12…
prk-Jr Jun 12, 2026
4fbafd5
Resolve PR14 round-2 review findings
prk-Jr Jun 12, 2026
726301d
Port EC identity lifecycle and EC API routes to the EdgeZero path
prk-Jr Jun 12, 2026
cc9a2e5
Align shared dependency versions in integration-tests lock file
prk-Jr Jun 12, 2026
f8df5b7
Merge feature/edgezero-pr14-entry-point-dual-path into PR15
prk-Jr Jun 12, 2026
32d37db
Resolve PR15 re-review findings
prk-Jr Jun 12, 2026
711dd6c
Document why trusted-server-core still depends on fastly
prk-Jr Jun 12, 2026
47b746e
Merge feature/edgezero-pr15-remove-fastly-core into PR16
prk-Jr Jun 12, 2026
f7e8846
Resolve PR16 round-5 review findings
prk-Jr Jun 12, 2026
4180b9d
Merge branch 'feature/edgezero-pr16-axum-dev-server' into feature/edg…
prk-Jr Jun 12, 2026
fe9951d
Extend per-target build/check aliases to the Cloudflare adapter
prk-Jr Jun 12, 2026
afecb5d
Strip internal fastly-ssl signal from publisher origin requests
prk-Jr Jun 13, 2026
6db27d9
Merge remote-tracking branch 'origin/feature/edgezero-pr17-cloudflare…
prk-Jr Jun 13, 2026
964834f
Fix clippy violations in integration-tests crate
prk-Jr Jun 13, 2026
a5f0e35
Address Phase 5 verification review findings
prk-Jr Jun 13, 2026
86e6d12
Merge feature/edgezero-pr18-phase5-verification into PR19 spin adapter
prk-Jr Jun 13, 2026
7461d88
Derive trusted host and scheme from spin-full-url on the Spin adapter
prk-Jr Jun 13, 2026
7dd15b5
Route all publisher fallback methods on the Spin adapter
prk-Jr Jun 13, 2026
1d01d14
Reject deleting reserved signing params during proxy-rebuild
prk-Jr Jun 13, 2026
8098617
Keep legacy digit-leading KIDs removable via the admin API
prk-Jr Jun 13, 2026
86893a8
Pin worker-build to the locked worker version in the Cloudflare build
prk-Jr Jun 13, 2026
44e5b80
Reconstruct absolute request URIs for Spin first-party handlers
prk-Jr Jun 13, 2026
699a49a
Enforce a portable KID contract across signing adapters
prk-Jr Jun 13, 2026
a9e3134
Enforce the Spin response-size ceiling on all response paths
prk-Jr Jun 13, 2026
e346514
Align Spin Host with the trusted URI and expose GET /health
prk-Jr Jun 13, 2026
26e5a26
Exclude the Spin crate from build-fastly and check-fastly
prk-Jr Jun 13, 2026
34e1609
Enforce max_buffered_body_bytes on the buffered publisher post-proces…
prk-Jr Jun 14, 2026
17a339c
Compare discovery body bytes when JSON parse fails in parity test
prk-Jr Jun 14, 2026
0dcd6f6
Drop unauthenticated legacy admin aliases and strip Spin synthetic he…
prk-Jr Jun 14, 2026
d5bcd8a
Drop unauthenticated legacy admin aliases on Cloudflare and Fastly
prk-Jr Jun 14, 2026
b00d742
Merge branch 'feature/edgezero-pr18-phase5-verification' into feature…
prk-Jr Jun 14, 2026
6e191e9
Merge branch 'main' into feature/edgezero-pr12-handler-layer-types
aram356 Jun 14, 2026
cf39f2d
Migrate auction format tests to edgezero http types after merge
prk-Jr Jun 15, 2026
609154e
Merge remote-tracking branch 'origin/feature/edgezero-pr12-handler-la…
prk-Jr Jun 15, 2026
4d57b83
Give auction transport failures a consistent error envelope
prk-Jr Jun 15, 2026
023cb2e
Merge remote-tracking branch 'origin/feature/edgezero-pr13-integratio…
prk-Jr Jun 15, 2026
c869faf
Bound the HTML post-processing accumulator by max_buffered_body_bytes
prk-Jr Jun 15, 2026
eeabc24
Correct max_buffered_body_bytes failure status in sample config
prk-Jr Jun 15, 2026
dab40a6
Assert Cloudflare legacy admin alias absence at the route table
prk-Jr Jun 15, 2026
3e6fbd9
Harden Spin request authority against spoofable headers
prk-Jr Jun 15, 2026
50c9e2e
Merge remote-tracking branch 'origin/main' into feature/edgezero-pr14…
prk-Jr Jun 15, 2026
75ad738
Merge remote-tracking branch 'origin/feature/edgezero-pr14-entry-poin…
prk-Jr Jun 15, 2026
96f2bd6
Sync integration-tests lockfile after dropping core wasm js deps
prk-Jr Jun 15, 2026
36a0ba7
Fix EdgeZero fallback asset-route and EC partner parity
prk-Jr Jun 16, 2026
74c51db
Drop legacy admin aliases on Axum to match Fastly and Cloudflare
prk-Jr Jun 16, 2026
67070e8
Harden Spin client-IP trust and centralize request normalization
prk-Jr Jun 16, 2026
a1e108f
Merge remote-tracking branch 'origin/main' into feature/edgezero-pr14…
prk-Jr Jun 17, 2026
9785872
Capture EdgeZero device signals before request conversion
prk-Jr Jun 17, 2026
bb180ff
Preserve origin Content-Length for bodiless EdgeZero asset responses
prk-Jr Jun 17, 2026
b0a57ac
Align Publisher Default with the config buffer-cap default
prk-Jr Jun 17, 2026
19a1070
Merge remote-tracking branch 'origin/feature/edgezero-pr14-entry-poin…
prk-Jr Jun 17, 2026
4a4b4b9
Add trusted-server-adapter-cloudflare crate (PR 17) (#644)
prk-Jr Jun 17, 2026
486e62d
Resolve PR16 round-6 review nitpicks
prk-Jr Jun 17, 2026
12859d5
Merge feature/edgezero-pr15-remove-fastly-core into PR16
prk-Jr Jun 17, 2026
b391b86
Sync integration-tests lockfile after merging PR15
prk-Jr Jun 17, 2026
04c0ebb
Merge feature/edgezero-pr16-axum-dev-server into PR18
prk-Jr Jun 17, 2026
3ab0192
Address PR18 review findings: doc drift and test domains
prk-Jr Jun 17, 2026
50524fa
Pin worker-build to the 0.7 series for the Cloudflare local build
prk-Jr Jun 17, 2026
ba07d4b
Run integration request filters on the EdgeZero entry point
prk-Jr Jun 19, 2026
d44074f
Merge remote-tracking branch 'origin/feature/edgezero-pr14-entry-poin…
prk-Jr Jun 19, 2026
a50d293
Merge remote-tracking branch 'origin/feature/edgezero-pr15-remove-fas…
prk-Jr Jun 19, 2026
958464d
Merge remote-tracking branch 'origin/feature/edgezero-pr16-axum-dev-s…
prk-Jr Jun 19, 2026
70380c2
Deny legacy admin aliases locally instead of proxying them
prk-Jr Jun 19, 2026
cb7b6a0
Force-reinstall worker-build when the local copy is on a stale series
prk-Jr Jun 19, 2026
2c57592
Fix integration-tests clippy and legacy-alias parity for local deny
prk-Jr Jun 19, 2026
3ddc3f4
Merge remote-tracking branch 'origin/feature/edgezero-pr18-phase5-ver…
prk-Jr Jun 19, 2026
76f2207
Build integration-test adapter artifacts with the real EC passphrase
prk-Jr Jun 19, 2026
59c4977
Strip client-supplied X-Forwarded-For on the Spin adapter
prk-Jr Jun 19, 2026
b394581
Do not apply the proxy SSRF allowlist to click-redirect rebuilds
prk-Jr Jun 19, 2026
254c849
Merge origin/main into feature/edgezero-pr16-axum-dev-server
prk-Jr Jun 22, 2026
7f5c89c
Address Cloudflare adapter review findings
prk-Jr Jun 22, 2026
f7a7721
Pin worker-build to ^0.7 in the Cloudflare dev build
prk-Jr Jun 22, 2026
9ac8205
Merge origin/main into feature/edgezero-pr16-axum-dev-server
prk-Jr Jun 23, 2026
87893e0
Merge feature/edgezero-pr16-axum-dev-server into PR18
prk-Jr Jun 24, 2026
f1da325
Ignore nested Cargo target directories
prk-Jr Jun 24, 2026
5d63db3
Resolve PR review routing feedback
prk-Jr Jun 24, 2026
9b97a9d
Merge feature/edgezero-pr18-phase5-verification into PR19
prk-Jr Jun 24, 2026
f379567
Resolve Spin PR review feedback
prk-Jr Jun 24, 2026
9c2e116
Fix integration workflow duplicate job
prk-Jr Jun 25, 2026
2aa7330
Sync integration test lockfile
prk-Jr Jun 25, 2026
09676b2
Merge branch 'feature/edgezero-pr16-axum-dev-server' into feature/edg…
prk-Jr Jun 25, 2026
262d47d
Merge branch 'feature/edgezero-pr16-axum-dev-server' into feature/edg…
prk-Jr Jun 25, 2026
3cae5e9
Merge branch 'feature/edgezero-pr18-phase5-verification' into feature…
prk-Jr Jun 25, 2026
da2df5f
Merge origin/main into feature/edgezero-pr19-spin-adapter
prk-Jr Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,42 @@
# trusted-server-adapter-fastly → wasm32-wasip1 (Fastly Compute)
# trusted-server-adapter-axum → native (dev server)
# trusted-server-adapter-cloudflare → wasm32-unknown-unknown (Cloudflare Workers)
# trusted-server-adapter-spin → wasm32-wasip1 (Fermyon Spin)
#
# All adapters are workspace members so `-p` resolves each.
# default-members = [fastly] — required so Viceroy can locate the binary via `cargo run --bin`.
# Use the aliases below to target each adapter with the correct toolchain.

[alias]
# Fastly adapter + shared crates (wasm32-wasip1 via Viceroy)
# Excludes Axum (native-only) and Cloudflare (wasm32-unknown-unknown, separate job)
test-fastly = ["test", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--target", "wasm32-wasip1"]
# Excludes Axum (native-only), Cloudflare (wasm32-unknown-unknown), and Spin (separate wasm32-wasip1 job)
test-fastly = ["test", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--exclude", "trusted-server-adapter-spin", "--target", "wasm32-wasip1"]
# Axum dev server adapter (native)
test-axum = ["test", "-p", "trusted-server-adapter-axum"]
# Cloudflare adapter (native host; WASM target checked separately in CI)
test-cloudflare = ["test", "-p", "trusted-server-adapter-cloudflare"]
# Cloudflare adapter WASM target check (wasm32-unknown-unknown requires --features cloudflare)
check-cloudflare = ["check", "-p", "trusted-server-adapter-cloudflare", "--target", "wasm32-unknown-unknown", "--features", "cloudflare"]
# Spin adapter (native host tests; WASM target checked separately with --features spin)
test-spin = ["test", "-p", "trusted-server-adapter-spin"]
check-spin = ["check", "-p", "trusted-server-adapter-spin", "--target", "wasm32-wasip1", "--features", "spin"]

# Clippy — target-matched to avoid cross-target compile failures
clippy-fastly = ["clippy", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--all-targets", "--all-features", "--target", "wasm32-wasip1", "--", "-D", "warnings"]
clippy-fastly = ["clippy", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--exclude", "trusted-server-adapter-spin", "--all-targets", "--all-features", "--target", "wasm32-wasip1", "--", "-D", "warnings"]
clippy-axum = ["clippy", "-p", "trusted-server-adapter-axum", "--all-targets", "--all-features", "--", "-D", "warnings"]
# No --all-features: the `cloudflare` feature has a compile_error! guard on
# non-wasm32 targets. WASM-feature coverage comes from `cargo check-cloudflare`.
clippy-cloudflare = ["clippy", "-p", "trusted-server-adapter-cloudflare", "--all-targets", "--", "-D", "warnings"]
clippy-spin-native = ["clippy", "-p", "trusted-server-adapter-spin", "--all-targets", "--", "-D", "warnings"]
clippy-spin-wasm = ["clippy", "-p", "trusted-server-adapter-spin", "--target", "wasm32-wasip1", "--features", "spin", "--lib", "--", "-D", "warnings"]

# Build — target-matched, same split as test/clippy
build-fastly = ["build", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--target", "wasm32-wasip1"]
build-fastly = ["build", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--exclude", "trusted-server-adapter-spin", "--target", "wasm32-wasip1"]
build-axum = ["build", "-p", "trusted-server-adapter-axum"]
build-cloudflare = ["build", "-p", "trusted-server-adapter-cloudflare", "--target", "wasm32-unknown-unknown", "--features", "cloudflare"]

# Check — fast compile validation, same split
check-fastly = ["check", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--target", "wasm32-wasip1"]
check-fastly = ["check", "--workspace", "--exclude", "trusted-server-adapter-axum", "--exclude", "trusted-server-adapter-cloudflare", "--exclude", "trusted-server-adapter-spin", "--target", "wasm32-wasip1"]
check-axum = ["check", "-p", "trusted-server-adapter-axum"]

[target.'cfg(all(target_arch = "wasm32"))']
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/setup-integration-test-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ runs:
env:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:${{ inputs.origin-port }}
TRUSTED_SERVER__PUBLISHER__PROXY_SECRET: integration-test-proxy-secret
TRUSTED_SERVER__EDGE_COOKIE__SECRET_KEY: integration-test-secret-key
TRUSTED_SERVER__EC__PASSPHRASE: integration-test-ec-secret-padded-32
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: cargo build -p trusted-server-adapter-axum

Expand Down Expand Up @@ -129,6 +129,6 @@ runs:
env:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:${{ inputs.origin-port }}
TRUSTED_SERVER__PUBLISHER__PROXY_SECRET: integration-test-proxy-secret
TRUSTED_SERVER__SYNTHETIC__SECRET_KEY: integration-test-secret-key
TRUSTED_SERVER__EC__PASSPHRASE: integration-test-ec-secret-padded-32
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: bash crates/trusted-server-adapter-cloudflare/build.sh
6 changes: 6 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ jobs:
- name: Run cargo clippy (Cloudflare — native)
run: cargo clippy-cloudflare

- name: Run cargo clippy (Spin — native)
run: cargo clippy-spin-native

- name: Run cargo clippy (Spin — wasm32-wasip1)
run: cargo clippy-spin-wasm

format-typescript:
runs-on: ubuntu-latest
defaults:
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,45 @@ jobs:
- name: Run Cloudflare adapter tests (native host)
run: cargo test-cloudflare

test-spin:
name: cargo check/build/test (spin native + wasm32-wasip1)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Retrieve Rust version
id: rust-version
run: echo "rust-version=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
shell: bash

- name: Set up Rust toolchain (native + wasm32-wasip1)
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ steps.rust-version.outputs.rust-version }}
target: wasm32-wasip1
cache-shared-key: cargo-${{ runner.os }}

- name: Check Spin adapter (native host)
run: cargo check -p trusted-server-adapter-spin

- name: Check Spin adapter (wasm32-wasip1)
run: cargo check-spin

- name: Build Spin adapter release WASM
# Mirror the Fastly release-build overrides so the artifact embeds usable
# settings instead of the trusted-server.toml placeholders, which startup
# rejects (falling back to the generic 503 router). This proves the
# documented Spin artifact can boot, not just compile.
env:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:8080
TRUSTED_SERVER__PUBLISHER__PROXY_SECRET: integration-test-proxy-secret
TRUSTED_SERVER__EC__PASSPHRASE: integration-test-ec-secret-padded-32
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release
Comment thread
prk-Jr marked this conversation as resolved.

- name: Run Spin adapter tests (native host)
run: cargo test-spin

test-parity:
name: cargo test (cross-adapter parity)
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
# Auto-generated JS module index
**/src/generated-modules.ts

# local Spin CLI downloads
/spin
/spin.sig

# EdgeZero local KV store (created by edgezero-adapter-axum framework)
.edgezero/

Expand Down
43 changes: 35 additions & 8 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ crates/
trusted-server-adapter-fastly/ # Fastly Compute entry point (wasm32-wasip1 binary)
trusted-server-adapter-axum/ # Axum dev server entry point (native binary)
trusted-server-adapter-cloudflare/ # Cloudflare Workers entry point (wasm32-unknown-unknown binary)
trusted-server-adapter-spin/ # Fermyon Spin entry point (wasm32-wasip1 component)
trusted-server-js/ # TypeScript/JS build — per-integration IIFE bundles
lib/ # TS source, Vitest tests, esbuild pipeline
```
Expand Down Expand Up @@ -68,6 +69,21 @@ cargo check-cloudflare

# Test Cloudflare adapter (native host)
cargo test-cloudflare

# Check Spin adapter (native)
cargo check -p trusted-server-adapter-spin

# Check Spin adapter (WASM target)
cargo check-spin

# Test Spin adapter (native host)
cargo test-spin

# Production-style Spin WASM artifact used by crates/trusted-server-adapter-spin/spin.toml
cargo build --package trusted-server-adapter-spin --target wasm32-wasip1 --features spin --release

# Optional local Spin runtime smoke, if the Spin CLI is installed
spin up --from crates/trusted-server-adapter-spin
```

### Testing & Quality
Expand All @@ -78,12 +94,20 @@ cargo test-cloudflare
cargo test-fastly # Fastly adapter + core (wasm32-wasip1 via Viceroy)
cargo test-axum # Axum dev server adapter (native)
cargo test-cloudflare # Cloudflare Workers adapter (native host)
cargo test-spin # Spin adapter route tests (native host)

# Format
cargo fmt --all -- --check

# Lint
cargo clippy-fastly && cargo clippy-axum && cargo clippy-cloudflare
# Lint by adapter target — target-matched clippy is the blocking gate because
# the workspace has multiple wasm runtimes and runtime-specific SDKs. A plain
# `cargo clippy --workspace --all-features` would trip the cloudflare
# feature's non-wasm32 compile_error! guard.
cargo clippy-fastly
cargo clippy-axum
cargo clippy-cloudflare
cargo clippy-spin-native
cargo clippy-spin-wasm

# Check compilation (per-target aliases — bare `cargo check` fails at the workspace root)
cargo check-fastly && cargo check-axum && cargo check-cloudflare
Expand Down Expand Up @@ -175,6 +199,7 @@ pub struct UserId(Uuid);
## Error Handling

- Use `error-stack` (`Report<MyError>`) — not anyhow or eyre.
- **Exception**: `crates/trusted-server-adapter-spin/src/lib.rs` entry point returns `anyhow::Result` because `edgezero_adapter_spin::run_app` forces this type at the WASM FFI boundary. Do not use `anyhow` anywhere else.
- Use `Box<dyn Error>` only in tests or prototyping.
- Use concrete error types with `Report<E>`.
- Use `ensure!()` / `bail!()` macros for early returns.
Expand Down Expand Up @@ -298,11 +323,12 @@ IntegrationRegistration::builder(ID)
Every PR must pass:

1. `cargo fmt --all -- --check`
2. `cargo clippy-fastly && cargo clippy-axum && cargo clippy-cloudflare`
3. `cargo test-fastly && cargo test-axum && cargo test-cloudflare`
4. JS build and test (`cd crates/trusted-server-js/lib && npx vitest run`)
5. JS format (`cd crates/trusted-server-js/lib && npm run format`)
6. Docs format (`cd docs && npm run format`)
2. `cargo clippy-fastly && cargo clippy-axum && cargo clippy-cloudflare && cargo clippy-spin-native && cargo clippy-spin-wasm`
3. `cargo test-fastly && cargo test-axum && cargo test-cloudflare && cargo test-spin`
4. `cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --test parity`
5. JS build and test (`cd crates/trusted-server-js/lib && npx vitest run`)
6. JS format (`cd crates/trusted-server-js/lib && npm run format`)
7. Docs format (`cd docs && npm run format`)

---

Expand All @@ -312,7 +338,8 @@ Every PR must pass:
2. **Get approval** — for non-trivial changes, present a plan first.
3. **Implement incrementally** — small, testable changes. Every change should
impact as little code as possible.
4. **Test after every change** — `cargo test-fastly && cargo test-axum`.
4. **Test after every change** — run the target-matched adapter test for the
code you changed; before PR handoff, run the full CI gate list above.
5. **Explain as you go** — describe what you changed and why.
6. **If blocked** — explain what's blocking and why.

Expand Down
Loading
Loading