Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
a158c23
feat: add EdgeZero-backed ts CLI
ChristianPavilonis Jun 17, 2026
14a91cc
Add Trusted Server audit command
ChristianPavilonis Jun 17, 2026
5a5f377
Add edgezero extensible-cli repin finding and implementation plan
prk-Jr Jun 17, 2026
7e70dc6
Revise repin spec and plan for ts-cli-next convergence
prk-Jr Jun 18, 2026
2563490
Add edgezero #269 HTTP-layer runtime design spec
prk-Jr Jun 18, 2026
7479b66
Refine runtime spec to read-vs-reconstruct 503 model and note get-Opt…
prk-Jr Jun 18, 2026
57abcf8
Add HTTP-layer runtime implementation plan
prk-Jr Jun 18, 2026
fdc7ad6
Add ConfigStoreUnavailable error variant mapping to 503
prk-Jr Jun 18, 2026
80e72af
Classify config-store read failures as ConfigStoreUnavailable (503)
prk-Jr Jun 18, 2026
907ae7f
Lock adapter 503 response for ConfigStoreUnavailable
prk-Jr Jun 18, 2026
a09cadc
Reconcile integration-tests lockfile to edgezero #269
prk-Jr Jun 18, 2026
78539cc
Correct config-load # Errors docs for the 503/500 split
prk-Jr Jun 18, 2026
766b441
Lock actionable config-store hint rides the error chain to logs
prk-Jr Jun 18, 2026
bc701ae
Clarify 503: actionable text to logs, client body stays generic
prk-Jr Jun 18, 2026
a36b70b
Give ConfigStoreUnavailable a store_name field and cover missing-list…
prk-Jr Jun 18, 2026
f169585
Revert "Reconcile integration-tests lockfile to edgezero #269"
prk-Jr Jun 18, 2026
5d18b22
Reconcile integration-tests lockfile to edgezero 2eeccc9
prk-Jr Jun 20, 2026
76031c1
Seed app_config config store for integration-test Viceroy
prk-Jr Jun 20, 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
4 changes: 4 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
[alias]
test_details = ["test", "--target", "aarch64-apple-darwin"]
test_cli_macos = ["test", "--package", "trusted-server-cli", "--target", "aarch64-apple-darwin"]
build_cli_macos = ["build", "--package", "trusted-server-cli", "--target", "aarch64-apple-darwin"]
test_cli_linux = ["test", "--package", "trusted-server-cli", "--target", "x86_64-unknown-linux-gnu"]
build_cli_linux = ["build", "--package", "trusted-server-cli", "--target", "x86_64-unknown-linux-gnu"]

[build]
target = "wasm32-wasip1"
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ jobs:
- name: Run cargo clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings

- name: Run host-target CLI clippy
run: cargo clippy --package trusted-server-cli --target x86_64-unknown-linux-gnu --all-targets --all-features -- -D warnings

format-typescript:
runs-on: ubuntu-latest
defaults:
Expand Down
15 changes: 13 additions & 2 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,17 @@ jobs:
- name: Load integration test Docker images
run: docker load --input "$DOCKER_ARTIFACT_PATH"

- name: Seed app_config config store for Viceroy
run: >-
cargo run --quiet
--manifest-path crates/integration-tests/Cargo.toml
--target x86_64-unknown-linux-gnu
--bin seed-viceroy-config --
--template crates/integration-tests/fixtures/configs/viceroy-template.toml
--fixture crates/integration-tests/fixtures/configs/trusted-server-integration.toml
--port ${{ env.ORIGIN_PORT }}
--out ${{ env.ARTIFACTS_DIR }}/viceroy-seeded.toml

- name: Set up Node.js
uses: actions/setup-node@v4
with:
Expand All @@ -128,7 +139,7 @@ jobs:
env:
WASM_BINARY_PATH: ${{ env.WASM_ARTIFACT_PATH }}
INTEGRATION_ORIGIN_PORT: ${{ env.ORIGIN_PORT }}
VICEROY_CONFIG_PATH: ${{ github.workspace }}/crates/integration-tests/fixtures/configs/viceroy-template.toml
VICEROY_CONFIG_PATH: ${{ env.ARTIFACTS_DIR }}/viceroy-seeded.toml
TEST_FRAMEWORK: nextjs
PLAYWRIGHT_HTML_REPORT: playwright-report-nextjs
run: npx playwright test
Expand All @@ -147,7 +158,7 @@ jobs:
env:
WASM_BINARY_PATH: ${{ env.WASM_ARTIFACT_PATH }}
INTEGRATION_ORIGIN_PORT: ${{ env.ORIGIN_PORT }}
VICEROY_CONFIG_PATH: ${{ github.workspace }}/crates/integration-tests/fixtures/configs/viceroy-template.toml
VICEROY_CONFIG_PATH: ${{ env.ARTIFACTS_DIR }}/viceroy-seeded.toml
TEST_FRAMEWORK: wordpress
PLAYWRIGHT_HTML_REPORT: playwright-report-wordpress
run: npx playwright test
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ jobs:
- name: Run tests
run: cargo test --workspace

- name: Run host-target CLI tests
run: cargo test --package trusted-server-cli --target x86_64-unknown-linux-gnu

- name: Verify Fastly WASM release build
env:
TRUSTED_SERVER__PUBLISHER__ORIGIN_URL: http://127.0.0.1:8080
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

# env
.env*
trusted-server.toml
js-assets.toml

# backup
**/*.rs.bk
Expand Down
21 changes: 15 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@ real-time bidding integration, and publisher-side JavaScript injection.
crates/
trusted-server-core/ # Core library — shared logic, integrations, HTML processing
trusted-server-adapter-fastly/ # Fastly Compute entry point (wasm32-wasip1 binary)
trusted-server-cli/ # Host-target `ts` operator CLI
js/ # TypeScript/JS build — per-integration IIFE bundles
lib/ # TS source, Vitest tests, esbuild pipeline
```

Supporting files: `fastly.toml`, `trusted-server.toml`, `.env.dev`,
`rust-toolchain.toml`, `CONTRIBUTING.md`.
Supporting files: `edgezero.toml`, `fastly.toml`,
`trusted-server.example.toml`, `.env.dev`, `rust-toolchain.toml`,
`CONTRIBUTING.md`. Operator-owned `trusted-server.toml` files are gitignored.

## Toolchain

Expand Down Expand Up @@ -57,6 +59,11 @@ fastly compute publish
# Run all Rust tests (uses viceroy)
cargo test --workspace

# Run host-target CLI tests (workspace default target is wasm32-wasip1)
# Use your host triple, for example x86_64-unknown-linux-gnu on CI/Linux
# or aarch64-apple-darwin on Apple Silicon macOS.
cargo test --package trusted-server-cli --target <host-triple>

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

Expand Down Expand Up @@ -264,10 +271,12 @@ IntegrationRegistration::builder(ID)

| File | Purpose |
| --------------------- | ---------------------------------------------------------- |
| `fastly.toml` | Fastly service configuration and build settings |
| `trusted-server.toml` | Application settings (ad servers, KV stores, ID templates) |
| `rust-toolchain.toml` | Pins Rust version to 1.91.1 |
| `.env.dev` | Local development environment variables |
| `edgezero.toml` | EdgeZero app/platform manifest and logical stores |
| `fastly.toml` | Fastly service configuration and build settings |
| `trusted-server.example.toml` | Source-controlled Trusted Server app-config template |
| `trusted-server.toml` | Operator-owned app config; gitignored and pushed with `ts` CLI |
| `rust-toolchain.toml` | Pins Rust version to 1.91.1 |
| `.env.dev` | Local development environment variables |

---

Expand Down
Loading
Loading