Skip to content

cleanup: migrate e2e + conformance scripts from HS256 to RS256#62

Merged
khaliqgant merged 1 commit intomainfrom
cleanup-e2e-scripts-rs256
Apr 24, 2026
Merged

cleanup: migrate e2e + conformance scripts from HS256 to RS256#62
khaliqgant merged 1 commit intomainfrom
cleanup-e2e-scripts-rs256

Conversation

@kjgbot
Copy link
Copy Markdown
Contributor

@kjgbot kjgbot commented Apr 24, 2026

Summary

  • Replace the local-dev script shared-secret token signing with a startup-generated RSA keypair.
  • Serve the generated public key through a local JWKS HTTP server and pass RELAYAUTH_JWKS_URL into spawned relayfile processes.
  • Sign script HTTP and WebSocket tokens as RS256 while preserving legacy claim aliases for compatibility.
  • Scope is dev scripts/test utility only; no production Go paths or runtime packages are touched.

Note: the requested local branch name was cleanup/e2e-scripts-rs256, but the remote already has refs/heads/cleanup, so GitHub rejected creating a cleanup/* branch. This PR uses the non-conflicting remote branch cleanup-e2e-scripts-rs256 with the same commit.

Test plan

  • npx tsx scripts/e2e.ts --ci
  • npx tsx scripts/conformance.ts
  • rg -n "HS256|createHmac|JWT_SECRET" scripts/e2e.ts scripts/conformance.ts

Replace the relayfile e2e and conformance script HS256 shared-secret token minting with RS256 tokens signed by a startup-generated RSA keypair and served through a local JWKS endpoint.

This is needed because post-relayfile#60 the server rejects HS256 tokens, which broke the local dev harnesses during seeded API calls.

The change is limited to dev scripts and their test utility; no production Go paths or runtime packages are affected.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@khaliqgant khaliqgant merged commit 03964a6 into main Apr 24, 2026
6 checks passed
@khaliqgant khaliqgant deleted the cleanup-e2e-scripts-rs256 branch April 24, 2026 09:55
Sign up for free to 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.

2 participants