Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
262 commits
Select commit Hold shift + click to select a range
556cce8
Repin EdgeZero to PR 275 and port core to its body and hook APIs
aram356 Nov 8, 2026
387f153
Map an expired trace action body read to 408
aram356 Nov 8, 2026
e36217b
Port the Fastly and Axum adapters to EdgeZero PR 275 APIs
aram356 Nov 8, 2026
f166d10
Port the Cloudflare and Spin adapters to EdgeZero PR 275 and install …
aram356 Nov 9, 2026
2de2837
Check synthesized headers on the Axum canonical 404 and 405
aram356 Nov 9, 2026
50ea8a1
Read every inbound body through a bounded EdgeZero reader
aram356 Nov 9, 2026
bb0e734
Add a scripted EdgeZero outbound client for tests
aram356 Nov 9, 2026
10980a3
Offset the scripted test clock from process time
aram356 Nov 9, 2026
e742aef
Carry EdgeZero's outbound client and clock in RuntimeServices
aram356 Nov 9, 2026
977c9d2
Run the parity suite on EdgeZero's Axum test server
aram356 Nov 9, 2026
be96e28
Check bodiless forward framing and keep the client out of production …
aram356 Nov 9, 2026
f2a1b12
Send integration requests through EdgeZero's client
aram356 Nov 9, 2026
358dbf9
Follow redirects and proxy assets through EdgeZero's client
aram356 Nov 9, 2026
13785ef
Run the first-party proxy redirect policy on the Axum binary
aram356 Nov 9, 2026
d6b70c7
Run auctions as EdgeZero batches on every adapter
aram356 Nov 9, 2026
0e9e5db
Keep backend registration failures as auction launch failures
aram356 Nov 9, 2026
9d76f8d
Test registration timeouts as completed auction outcomes and drop the…
aram356 Nov 9, 2026
caa4691
Fetch the publisher origin through EdgeZero's client inside the respo…
aram356 Nov 9, 2026
933de59
Extract native prepared-store startup on the compatible demo baseline
ChristianPavilonis Nov 11, 2026
e15d3b2
Extract the protected CloudFront Geo baseline
ChristianPavilonis Nov 11, 2026
e40a490
Retain provider-local HTTP opt-in in the demo baseline
ChristianPavilonis Nov 11, 2026
89e8389
Separate shared async EC from the native persistence baseline
ChristianPavilonis Nov 11, 2026
a4f3e71
Extract native EC lifecycle and DynamoDB persistence
ChristianPavilonis Nov 11, 2026
82942de
Extract existing Sourcepoint consent synchronization
ChristianPavilonis Nov 11, 2026
3776371
Extract explicit EC storage selection and celld persistence
ChristianPavilonis Nov 11, 2026
f45b554
Separate the source-built native image from runtime configuration
ChristianPavilonis Nov 11, 2026
5362c3f
Separate the native AWS runtime wrapper
ChristianPavilonis Nov 11, 2026
121ebcc
Keep sanitized AWS workload and DynamoDB examples separate from deplo…
ChristianPavilonis Nov 11, 2026
9f0a84b
Decode the Cloudflare publisher origin and drop dead cookie and stub …
aram356 Nov 11, 2026
fe54116
Carry the baseline toolchain correction into HTTP opt-in
ChristianPavilonis Nov 11, 2026
84447d6
Carry the lower baseline check corrections into native EC
ChristianPavilonis Nov 11, 2026
e93d292
Remove the redundant parser import for the baseline toolchain
ChristianPavilonis Nov 11, 2026
fb8b2a5
Carry the native toolchain lint correction into Geo
ChristianPavilonis Nov 11, 2026
4aa2ebd
Format the retained HTTP provider documentation
ChristianPavilonis Nov 11, 2026
8ba1353
Carry baseline lint and documentation corrections into async EC
ChristianPavilonis Nov 11, 2026
5dfab38
Use a concrete local port in the retained DynamoDB test example
ChristianPavilonis Nov 11, 2026
a275941
Carry the lower baseline check corrections into Sourcepoint
ChristianPavilonis Nov 11, 2026
9af2540
Carry the lower baseline check corrections into storage
ChristianPavilonis Nov 11, 2026
a4b3b48
Carry baseline check corrections into the next review unit
ChristianPavilonis Nov 11, 2026
f3432cb
Carry baseline check corrections into the next review unit
ChristianPavilonis Nov 11, 2026
b67ffc6
Carry baseline check corrections into the next review unit
ChristianPavilonis Nov 11, 2026
8b11dba
Keep the external Terraform example out of site-local links
ChristianPavilonis Nov 11, 2026
e09e884
Carry the documentation site correction into Sourcepoint
ChristianPavilonis Nov 11, 2026
cdad6df
Carry the documentation site correction into storage
ChristianPavilonis Nov 11, 2026
fe04ce1
Carry the docs-only site correction into the next baseline unit
ChristianPavilonis Nov 11, 2026
a38bcfb
Carry the docs-only site correction into the next baseline unit
ChristianPavilonis Nov 11, 2026
8985b11
Carry the docs-only site correction into the next baseline unit
ChristianPavilonis Nov 11, 2026
8490c69
Distinguish Linux TCP self-connections in startup probes
ChristianPavilonis Nov 11, 2026
6003fa6
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
70a8945
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
9ff5d4e
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
d6a5c81
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
ce378aa
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
83f58c5
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
5781382
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
3023e98
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
9356c55
Carry the startup probe correction through the compatible baseline
ChristianPavilonis Nov 11, 2026
b121676
Keep pinned Playwright on its supported Ubuntu browser runner
ChristianPavilonis Nov 11, 2026
affb0d0
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
1cfba70
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
a8e6121
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
c568207
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
e267296
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
f14eefa
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
b9e1ff2
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
46f6211
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
ee7f68f
Carry the browser CI host compatibility fix through the baseline
ChristianPavilonis Nov 11, 2026
5e5dc96
Make platform store writes async and send management calls through Ed…
aram356 Nov 11, 2026
1baa582
Run key rotation through the scripted management client in test 14
aram356 Nov 11, 2026
9441d4e
Run Fastly on EdgeZero's canonical lifecycle
aram356 Nov 11, 2026
7867214
Drop the dead HTTP stub and tighten Fastly lifecycle tests
aram356 Nov 11, 2026
ac414af
Drop the cross-IP geo fallback and the unused Fastly geo client
aram356 Nov 11, 2026
1d09fb3
Probe the geo fallback with an IP the simulator answers
aram356 Nov 11, 2026
c7f8ca7
Include the opt-in relay from PR 1498 on the compatible baseline
ChristianPavilonis Nov 11, 2026
bc08a9a
Avoid APT during browser CI setup
ChristianPavilonis Nov 11, 2026
151d2fb
Delete Trusted Server's outbound layer
aram356 Nov 11, 2026
19234e5
Pin EdgeZero to PR 275 head a7d7fd0f
aram356 Nov 11, 2026
b1b3269
Reject operator framing headers and read Axum ingress limits from the…
aram356 Nov 11, 2026
eb7f92c
Avoid APT during browser CI setup
ChristianPavilonis Nov 11, 2026
38fec5f
Use the tagged EdgeZero Axum RC snapshot
ChristianPavilonis Nov 11, 2026
9a0266f
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
8003251
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
5e57e25
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
fa2715e
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
7e9ca97
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
c279229
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
8fef1e1
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
21e28ba
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
3471dca
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
1636641
Carry the tagged EdgeZero snapshot through the stack
ChristianPavilonis Nov 11, 2026
65ba4f3
Use the monthly EdgeZero Axum RC tag
ChristianPavilonis Nov 11, 2026
0ae96ef
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
6501eed
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
b3ff6f7
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
a734306
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
2d27271
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
2610d4a
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
37c7fab
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
999e211
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
ee5a389
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
a2edf24
Carry the monthly EdgeZero tag through the stack
ChristianPavilonis Nov 11, 2026
7c6e68d
Carry Sourcepoint TCF consent to Trusted Server
ChristianPavilonis Nov 11, 2026
ff04dfb
Test that live configs keeping framing headers still load
aram356 Nov 12, 2026
3040b81
Reconcile main and bind the qualified EdgeZero cutover tag
ChristianPavilonis Nov 12, 2026
17158cf
Retain current framing-header and ingress-limit cutover fixes
ChristianPavilonis Nov 12, 2026
82d7e3b
Rebuild prepared native startup on the tagged EdgeZero cutover
ChristianPavilonis Nov 12, 2026
3b0d522
Reserve startup fixture ports without creating listeners
ChristianPavilonis Nov 12, 2026
e0ee5ac
Carry protected CloudFront Geo onto the direct EdgeZero cutover
ChristianPavilonis Nov 12, 2026
38f68a5
Retain the owning native startup fixture correction
ChristianPavilonis Nov 12, 2026
633a0c7
Migrate current Fastly Geo fixtures to partial location data
ChristianPavilonis Nov 12, 2026
ade11a5
Retain per-provider HTTP opt-in alongside main's loopback rule
ChristianPavilonis Nov 12, 2026
656f0b3
Retain the owning partial Geo fixture continuation
ChristianPavilonis Nov 12, 2026
d399449
Carry shared async EC through the direct EdgeZero interfaces
ChristianPavilonis Nov 12, 2026
3d127c4
Retain native EC on the prepared direct EdgeZero lifecycle
ChristianPavilonis Nov 12, 2026
8515370
Document the EdgeZero PR 275 cut
aram356 Nov 12, 2026
0ebe0eb
Keep real Sourcepoint consent reconciliation on direct ingress
ChristianPavilonis Nov 12, 2026
1a914d6
Keep the trace parity fixture honest about partial Geo
ChristianPavilonis Nov 12, 2026
cd02c26
Retain the owning partial-Geo parity fixture correction
ChristianPavilonis Nov 12, 2026
b90ddbe
Retain the owning partial-Geo parity fixture correction
ChristianPavilonis Nov 12, 2026
fd86ba8
Retain the owning partial-Geo parity fixture correction
ChristianPavilonis Nov 12, 2026
7140746
Retain the owning partial-Geo parity fixture correction
ChristianPavilonis Nov 12, 2026
bad5db5
Retain explicit EC storage and typed celld records on the cutover
ChristianPavilonis Nov 12, 2026
3a0d8bf
Retain the owning partial-Geo parity fixture ancestry
ChristianPavilonis Nov 12, 2026
b300486
Retain the concurrent cutover documentation and semantic release iden…
ChristianPavilonis Nov 12, 2026
14d700d
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
4287413
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
ee27f39
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
2791483
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
9cb5540
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
f0b5960
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
314aebd
Retain the concurrent cutover documentation closeout
ChristianPavilonis Nov 12, 2026
793b508
Describe the prepared native handoff in the development guides
ChristianPavilonis Nov 12, 2026
c9a8b66
Retain prepared native development documentation
ChristianPavilonis Nov 12, 2026
006fa9d
Retain prepared native development documentation
ChristianPavilonis Nov 12, 2026
577bc74
Retain prepared native development documentation
ChristianPavilonis Nov 12, 2026
59c21df
Retain prepared native development documentation
ChristianPavilonis Nov 12, 2026
034ebfb
Retain prepared native development documentation
ChristianPavilonis Nov 12, 2026
8414bff
Retain prepared native development documentation
ChristianPavilonis Nov 12, 2026
5d3cbeb
Retain the native container on the pinned cutover toolchain
ChristianPavilonis Nov 12, 2026
439ccb8
Retain concurrent cutover and prepared-startup documentation
ChristianPavilonis Nov 12, 2026
8d92229
Retain the literal native AWS runtime wrapper
ChristianPavilonis Nov 12, 2026
1d3f3dd
Retain sanitized AWS references behind their closed qualification gates
ChristianPavilonis Nov 12, 2026
1559d5a
Retain relay ownership and Sourcepoint TCF on the tag-bound RC
ChristianPavilonis Nov 12, 2026
ad00c40
Select runtime-appropriate storage in local acceptance fixtures
ChristianPavilonis Nov 12, 2026
8de80f2
Retain runtime-appropriate acceptance fixture storage
ChristianPavilonis Nov 12, 2026
edf5968
Retain runtime-appropriate acceptance fixture storage
ChristianPavilonis Nov 12, 2026
661a311
Retain runtime-appropriate acceptance fixture storage
ChristianPavilonis Nov 12, 2026
66468c4
Retain runtime-appropriate acceptance fixture storage
ChristianPavilonis Nov 12, 2026
bc4dc3c
Retain current main validation and mediator fallback on direct transport
ChristianPavilonis Nov 12, 2026
5ab4ba8
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
718bfc1
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
9fed02f
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
efc416a
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
2cbff6d
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
81f7cc7
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
e32b202
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
7c397a6
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
9253166
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
340f7c3
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
543dc48
Retain current main validation and mediator fallback
ChristianPavilonis Nov 12, 2026
254cfd4
Use Cargo's resolved target directory in the local cache harness
ChristianPavilonis Nov 12, 2026
0df6080
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
24867d1
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
645ee16
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
d9e7727
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
25a8ea5
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
e8a536c
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
00ab1a7
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
af6e51c
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
d73300d
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
1fd4b67
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
87c98c2
Retain the Cargo target-aware cache harness
ChristianPavilonis Nov 12, 2026
83b5bd0
Exercise the runtime-specific smoke helper in CLI store tests
ChristianPavilonis Nov 12, 2026
c677a8c
Retain runtime-specific CLI smoke fixture coverage
ChristianPavilonis Nov 12, 2026
067fdef
Retain runtime-specific CLI smoke fixture coverage
ChristianPavilonis Nov 12, 2026
9742add
Retain runtime-specific CLI smoke fixture coverage
ChristianPavilonis Nov 12, 2026
9c0ea93
Retain runtime-specific CLI smoke fixture coverage
ChristianPavilonis Nov 12, 2026
dcca625
Resolve the cache fixture's GPT bundle under Cargo's target root
ChristianPavilonis Nov 12, 2026
be955e2
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
857611d
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
98e5ba1
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
f9ca291
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
92cb96f
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
397d4ce
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
53bcc15
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
866c519
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
06a08bf
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
b4baa0b
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
57a1415
Retain target-aware GPT bundle lookup for the cache fixture
ChristianPavilonis Nov 12, 2026
5c39b63
Protect test diagnostics and stabilize runtime fixtures
ChristianPavilonis Nov 12, 2026
ef40a69
Carry hosted qualification fixes through PR 1531
ChristianPavilonis Nov 12, 2026
6bc85ab
Carry hosted qualification fixes through PR 1532
ChristianPavilonis Nov 12, 2026
4685d91
Carry hosted qualification fixes through PR 1533
ChristianPavilonis Nov 12, 2026
282578b
Carry hosted qualification fixes through PR 1534
ChristianPavilonis Nov 12, 2026
c445e5f
Carry hosted qualification fixes through PR 1536
ChristianPavilonis Nov 12, 2026
e85f66a
Carry hosted qualification fixes through PR 1535
ChristianPavilonis Nov 12, 2026
c04da1d
Carry hosted qualification fixes through PR 1537
ChristianPavilonis Nov 12, 2026
d96063b
Carry hosted qualification fixes through PR 1539
ChristianPavilonis Nov 12, 2026
4ab2f26
Carry hosted qualification fixes through PR 1538
ChristianPavilonis Nov 12, 2026
e63d6c7
Carry hosted qualification fixes through PR 1540
ChristianPavilonis Nov 12, 2026
aedd028
Carry hosted qualification fixes through PR 1541
ChristianPavilonis Nov 12, 2026
f34aa63
Run panic-payload regression only on unwinding test targets
ChristianPavilonis Nov 12, 2026
f66dab9
Carry hosted qualification fixes through PR 1531
ChristianPavilonis Nov 12, 2026
5c331c2
Carry hosted qualification fixes through PR 1532
ChristianPavilonis Nov 12, 2026
95a4c50
Carry hosted qualification fixes through PR 1533
ChristianPavilonis Nov 12, 2026
da5f0be
Carry hosted qualification fixes through PR 1534
ChristianPavilonis Nov 12, 2026
8d1a3e9
Carry hosted qualification fixes through PR 1536
ChristianPavilonis Nov 12, 2026
01a052d
Carry hosted qualification fixes through PR 1535
ChristianPavilonis Nov 12, 2026
df61007
Carry hosted qualification fixes through PR 1537
ChristianPavilonis Nov 12, 2026
94ef18e
Carry hosted qualification fixes through PR 1539
ChristianPavilonis Nov 12, 2026
1cd2d75
Carry hosted qualification fixes through PR 1538
ChristianPavilonis Nov 12, 2026
e14b7e6
Carry hosted qualification fixes through PR 1540
ChristianPavilonis Nov 12, 2026
4cd3712
Carry hosted qualification fixes through PR 1541
ChristianPavilonis Nov 12, 2026
5839db8
Reserve native acceptance ports without creating listeners
ChristianPavilonis Nov 12, 2026
d95730c
Carry hosted qualification fixes through PR 1532
ChristianPavilonis Nov 12, 2026
4b1fc64
Carry hosted qualification fixes through PR 1533
ChristianPavilonis Nov 12, 2026
dc375a4
Carry hosted qualification fixes through PR 1534
ChristianPavilonis Nov 12, 2026
338ae5c
Carry hosted qualification fixes through PR 1536
ChristianPavilonis Nov 12, 2026
cfaac73
Carry hosted qualification fixes through PR 1535
ChristianPavilonis Nov 12, 2026
cca7318
Carry hosted qualification fixes through PR 1537
ChristianPavilonis Nov 12, 2026
31981ca
Carry hosted qualification fixes through PR 1539
ChristianPavilonis Nov 12, 2026
fc227a4
Carry hosted qualification fixes through PR 1538
ChristianPavilonis Nov 12, 2026
20b576a
Carry hosted qualification fixes through PR 1540
ChristianPavilonis Nov 12, 2026
f0cb150
Carry hosted qualification fixes through PR 1541
ChristianPavilonis Nov 12, 2026
2bf7c05
Use released Chrome for native CLI browser fixtures
ChristianPavilonis Nov 12, 2026
64935df
Carry hosted qualification fixes through PR 1531
ChristianPavilonis Nov 12, 2026
713bdd9
Carry hosted qualification fixes through PR 1532
ChristianPavilonis Nov 12, 2026
c8bfc0b
Carry hosted qualification fixes through PR 1533
ChristianPavilonis Nov 12, 2026
b596e21
Carry hosted qualification fixes through PR 1534
ChristianPavilonis Nov 12, 2026
026758e
Carry hosted qualification fixes through PR 1536
ChristianPavilonis Nov 12, 2026
5f884f9
Carry hosted qualification fixes through PR 1535
ChristianPavilonis Nov 12, 2026
b570c46
Carry hosted qualification fixes through PR 1537
ChristianPavilonis Nov 12, 2026
224540e
Carry hosted qualification fixes through PR 1539
ChristianPavilonis Nov 12, 2026
57576f2
Carry hosted qualification fixes through PR 1538
ChristianPavilonis Nov 12, 2026
1451e38
Carry hosted qualification fixes through PR 1540
ChristianPavilonis Nov 12, 2026
c2a9f93
Carry hosted qualification fixes through PR 1541
ChristianPavilonis Nov 12, 2026
ba5790b
Pin the released Chrome for Testing automation build
ChristianPavilonis Nov 12, 2026
88a6ba5
Carry hosted qualification fixes through PR 1531
ChristianPavilonis Nov 12, 2026
852b875
Carry hosted qualification fixes through PR 1532
ChristianPavilonis Nov 12, 2026
82d9a0e
Carry hosted qualification fixes through PR 1533
ChristianPavilonis Nov 12, 2026
646c39a
Carry hosted qualification fixes through PR 1534
ChristianPavilonis Nov 12, 2026
296e054
Carry hosted qualification fixes through PR 1536
ChristianPavilonis Nov 12, 2026
0666a9b
Carry hosted qualification fixes through PR 1535
ChristianPavilonis Nov 12, 2026
4a83827
Carry hosted qualification fixes through PR 1537
ChristianPavilonis Nov 12, 2026
8d41cb0
Carry hosted qualification fixes through PR 1539
ChristianPavilonis Nov 12, 2026
3111c24
Carry hosted qualification fixes through PR 1538
ChristianPavilonis Nov 12, 2026
eb6e19e
Carry hosted qualification fixes through PR 1540
ChristianPavilonis Nov 12, 2026
7dd2e30
Carry hosted qualification fixes through PR 1541
ChristianPavilonis Nov 12, 2026
db1ba33
Combine the AWS example with protected ingress and durable EC
ChristianPavilonis Nov 12, 2026
86797e0
Merge the unified AWS example into the Axum RC
ChristianPavilonis Nov 12, 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
37 changes: 37 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Allow only build inputs, never the entire operator checkout.
**
!Cargo.toml
!Cargo.lock
!.tool-versions
!rust-toolchain.toml
!edgezero.toml
!.cargo/
!.cargo/config.toml
!crates/
!crates/**
# Exclude operator TOMLs even if placed below a crate.
**/*.toml
!**/Cargo.toml
!rust-toolchain.toml
!edgezero.toml
!.cargo/config.toml
!trusted-server.example.toml
**/.git
**/target
**/node_modules
**/dist
crates/trusted-server-adapter-cloudflare/build
crates/trusted-server-adapter-cloudflare/pkg
**/.env
**/.env.*
**/*.pem
**/*.key
**/*.p12
**/*.pfx
**/keys
**/secrets
**/.aws
**/.npmrc
**/.cargo/credentials*
**/.ts-tmp
**/.tsjs-npm-ci.lock
3 changes: 0 additions & 3 deletions .env.dev
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ TRUSTED_SERVER__SYNTHETIC__COUNTER_STORE=counter_store
TRUSTED_SERVER__SYNTHETIC__OPID_STORE=opid_store

# [proxy]
# Disable TLS certificate verification for local dev with self-signed certs
# TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK=false
#
# Restrict first-party proxy redirect targets to an allowlist (JSON array or indexed form).
# Leave unset in local dev; configure in production to prevent SSRF via redirect chains
# initiated by signed first-party proxy URLs.
Expand Down
3 changes: 0 additions & 3 deletions .github/actions/setup-integration-test-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ runs:
TRUSTED_SERVER__EC__PASSPHRASE: integration-test-ec-secret-padded-32
TRUSTED_SERVER__EC__PARTNERS: >-
[{"name":"Integration Test Partner","source_domain":"inttest.example.com","bidstream_enabled":true,"api_token":"integration-test-token-alpha-32-bytes-ok"},{"name":"Integration Test Partner 2","source_domain":"inttest2.example.com","bidstream_enabled":true,"api_token":"integration-test-token-bravo-32-bytes-ok"}]
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

- name: Build Axum native binary
Expand All @@ -101,7 +100,6 @@ runs:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:${{ inputs.origin-port }}
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 -p trusted-server-adapter-axum

- name: Build WordPress test container
Expand Down Expand Up @@ -132,5 +130,4 @@ runs:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:${{ inputs.origin-port }}
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: bash crates/trusted-server-adapter-cloudflare/build.sh
22 changes: 18 additions & 4 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,20 @@ jobs:
- name: Verify jobs pin Node before compiling Rust
run: node scripts/check-ci-node-pin.mjs

fastly-response-diff:
name: Fastly response diff script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: .tool-versions

- name: Test the response comparison
run: node --test scripts/fastly-response-diff.test.mjs

format-rust:
name: cargo fmt
runs-on: ubuntu-latest
Expand Down Expand Up @@ -129,10 +143,10 @@ jobs:
- name: Run host-target OpenRTB codegen clippy
run: cargo clippy --package trusted-server-openrtb-codegen --target x86_64-unknown-linux-gnu --all-targets -- -D warnings

# The build-digest tests are native-only, so clippy-fastly compiles them
# to an empty crate. Lint them on the host.
- name: Run host-target core build-digest test clippy
run: cargo clippy --package trusted-server-core --target x86_64-unknown-linux-gnu --test template_build_digest -- -D warnings
# These core tests are native-only, so clippy-fastly compiles them
# to empty crates. Lint them on the host.
- name: Run host-target core build-digest and AWS config test clippy
run: cargo clippy --package trusted-server-core --target x86_64-unknown-linux-gnu --test template_build_digest --test aws_example_config -- -D warnings

format-typescript:
runs-on: ubuntu-latest
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ jobs:
-- --include-ignored
--skip test_wordpress_fastly --skip test_nextjs_fastly
--skip trace_browser_workflow --skip trace_runtime_boundary
--skip multi_provider_auction_runs_spin --skip spin_runtime_
--skip navigation_bids_include_180_and_320_ms_and_exclude_600_ms_spin
--skip publisher_head_and_conditional_304_return_real_status_spin
--test-threads=1
env:
WASM_BINARY_PATH: ${{ env.WASM_ARTIFACT_PATH }}
Expand Down Expand Up @@ -199,7 +202,7 @@ jobs:
npm ci --prefix crates/trusted-server-js/lib
npm ci --prefix crates/trusted-server-integration-tests/browser
cd crates/trusted-server-integration-tests/browser
npx playwright install --with-deps chromium
npx playwright install chromium
npm install -g wrangler@4.83.0

- name: Install the verified Spin runtime
Expand Down Expand Up @@ -229,6 +232,7 @@ jobs:
run: |
cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target x86_64-unknown-linux-gnu --test integration trace_runtime_boundary -- --ignored --test-threads=1 --nocapture
cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target x86_64-unknown-linux-gnu --test integration trace_browser_workflow -- --ignored --test-threads=1 --nocapture
cargo test --manifest-path crates/trusted-server-integration-tests/Cargo.toml --target x86_64-unknown-linux-gnu --test integration -- --ignored --test-threads=1 --nocapture multi_provider_auction_runs_spin spin_runtime_ navigation_bids_include_180_and_320_ms_and_exclude_600_ms_spin publisher_head_and_conditional_304_return_real_status_spin
env:
WASM_BINARY_PATH: ${{ env.WASM_ARTIFACT_PATH }}
AXUM_BINARY_PATH: ${{ env.AXUM_ARTIFACT_PATH }}
Expand Down Expand Up @@ -297,7 +301,7 @@ jobs:
working-directory: crates/trusted-server-integration-tests/browser
run: |
npm ci
npx playwright install --with-deps chromium
npx playwright install chromium

# startViceroy retargets the config after choosing its listener port. Build
# on this runner rather than relying on an uncached binary or a native
Expand Down
62 changes: 62 additions & 0 deletions .github/workflows/native-aws-workload.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Native AWS deployment example

on:
pull_request:
paths:
- 'deploy/examples/native-aws-workload/**'
- '.tool-versions'
- '.github/workflows/native-aws-workload.yml'
push:
branches: [main]
paths:
- 'deploy/examples/native-aws-workload/**'
- '.tool-versions'
- '.github/workflows/native-aws-workload.yml'
workflow_dispatch:

permissions:
contents: read

jobs:
offline-checks:
runs-on: ubuntu-24.04
timeout-minutes: 15
env:
AWS_EC2_METADATA_DISABLED: 'true'
TF_IN_AUTOMATION: 'true'
CHECKPOINT_DISABLE: '1'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Read pinned tooling
id: versions
run: |
terraform=$(awk '$1 == "terraform" { print $2 }' .tool-versions)
node=$(awk '$1 == "nodejs" { print $2 }' .tool-versions)
test -n "$terraform"
test -n "$node"
printf 'terraform=%s\nnode=%s\n' "$terraform" "$node" >> "$GITHUB_OUTPUT"

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: ${{ steps.versions.outputs.node }}

- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3
with:
terraform_version: ${{ steps.versions.outputs.terraform }}
terraform_wrapper: false

- name: Check the offline workflow contract
run: node --test deploy/examples/native-aws-workload/test-workflow.mjs

- name: Validate schema and credential-free mock plans
run: |
terraform -chdir=deploy/examples/native-aws-workload fmt -check -recursive
terraform -chdir=deploy/examples/native-aws-workload init -backend=false -input=false -lockfile=readonly
terraform -chdir=deploy/examples/native-aws-workload validate
terraform -chdir=deploy/examples/native-aws-workload/retained init -backend=false -input=false -lockfile=readonly
terraform -chdir=deploy/examples/native-aws-workload/retained validate
env -u NODE_OPTIONS -u NODE_PATH node deploy/examples/native-aws-workload/test-draft.mjs
git diff --exit-code -- deploy/examples/native-aws-workload/.terraform.lock.hcl deploy/examples/native-aws-workload/retained/.terraform.lock.hcl
45 changes: 45 additions & 0 deletions .github/workflows/native-container.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Native RC container

on:
pull_request:
paths:
- Dockerfile
- .dockerignore
- .tool-versions
- rust-toolchain.toml
- Cargo.toml
- Cargo.lock
- edgezero.toml
- .cargo/**
- crates/trusted-server-adapter-axum/**
- crates/trusted-server-core/**
- crates/trusted-server-js/**
- crates/trusted-server-openrtb*/**
- scripts/test-native-container.mjs
- .github/workflows/native-container.yml
workflow_dispatch:

permissions:
contents: read

jobs:
local-provider-image:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Read pinned Node version
id: node
run: |
version=$(awk '$1 == "nodejs" { print $2 }' .tool-versions)
test -n "$version"
echo "version=$version" >> "$GITHUB_OUTPUT"
- uses: actions/setup-node@v4
with:
node-version: ${{ steps.node.outputs.version }}
- name: Build local-provider image
run: docker build --build-arg TRUSTED_SERVER__GIT_VERSION="${{ github.sha }}" -t ts-rc-local:test .
- name: Check real TS routes, startup rejection and drain
run: node scripts/test-native-container.mjs ts-rc-local:test
8 changes: 5 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,8 @@ jobs:
path: ${{ runner.temp }}/trusted-server-finalize-axum-*/
if-no-files-found: ignore

- name: Test template build digest inputs (native)
run: cargo test -p trusted-server-core --test template_build_digest
- name: Test build digest inputs and AWS config envelopes (native)
run: cargo test -p trusted-server-core --test template_build_digest --test aws_example_config

- name: Run HTML processor benchmarks (smoke)
# -- --test runs each benchmark as a regular test (no timing harness) so CI stays fast
Expand Down Expand Up @@ -279,7 +279,6 @@ jobs:
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

- name: Run Spin adapter tests (native host)
Expand Down Expand Up @@ -355,6 +354,9 @@ jobs:
if: runner.os == 'macOS'
id: setup-chrome
uses: browser-actions/setup-chrome@v1
with:
# An exact version selects Chrome for Testing, not a snapshot or the desktop DMG.
chrome-version: '157.0.8103.78'

- name: cargo test
if: runner.os == 'Linux'
Expand Down
3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,8 @@ Every PR must pass:
13. CI Node pin guard: `node --test scripts/check-ci-node-pin.test.mjs && node scripts/check-ci-node-pin.mjs` with the `.tool-versions` Node (every CI job that compiles Rust sets up the `.tool-versions` Node before its first cargo step)
14. Fastly absolute-deadline network fixtures under Viceroy (the harness builds the adapter test binary itself): `node crates/trusted-server-adapter-fastly/tests/deadline-origin.mjs "$(command -v viceroy)"`
15. Worker auction-deadline runtime fixtures (`worker-auction-deadlines.yml`): build and lint the runtime fixture, then run it under the local runtime. For Cloudflare, `cargo build --locked -p trusted-server-adapter-cloudflare --example deadline-runtime --target wasm32-unknown-unknown --features cloudflare` and `node scripts/test-worker-auction-deadlines.mjs cloudflare --runtime "$(command -v wrangler)"` (requires wrangler and the `Cargo.lock` wasm-bindgen CLI). For Spin, `cargo build --locked -p trusted-server-adapter-spin --example deadline-runtime --target wasm32-wasip1 --features spin` and `node scripts/test-worker-auction-deadlines.mjs spin --runtime "$(command -v spin)"`. CI lints each fixture with the same `cargo clippy` arguments plus `-- -D warnings`
16. Release producer checks: `node --test scripts/release/phase1.test.mjs && shellcheck scripts/release/phase1-build.sh`
16. Fastly response diff script: `node --test scripts/fastly-response-diff.test.mjs` with the `.tool-versions` Node
17. Release producer checks: `node --test scripts/release/phase1.test.mjs && shellcheck scripts/release/phase1-build.sh`

CI also runs these HTML EOF checks. Run them locally only when changing EOF
finalization, publisher or HTML-processor code:
Expand Down
Loading
Loading