- ca/issue.ts: real X.509 v3 Ed25519 leaf with SPIFFE URI SAN, signed by the intermediate; SAN built via relay-auth spiffeIdFor so it can't drift - ca/csr.ts: parse real PKCS#10 (agent's PEM) + async PoP verify; decodeCsrWire accepts PEM or base64(DER) - main.ts/env.ts: real issuer when CA_INTERMEDIATE_KEY_PATH present, else dev fallback - interop.test.ts: oracle proving relay-auth verifyAgentCert accepts the leaf (6 tests) - deps: @peculiar/x509, reflect-metadata
37 lines
1.2 KiB
JSON
37 lines
1.2 KiB
JSON
{
|
|
"name": "control-plane",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "P3 — Control Plane & Accounts for the rendezvous-relay service. Account/host/session registries (immutable, INV8), pairing issuance+redemption+BIND, subdomain assignment, Redis routing table, provisioning/metering/revocation APIs, registry-gated mTLS leaf signing (INV14), immutable zero-payload audit (INV10). Imports relay-contracts read-only. See docs/PLAN_RELAY_CONTROLPLANE.md.",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"main": "src/main.ts",
|
|
"scripts": {
|
|
"start": "tsx src/server.ts",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"coverage": "vitest run --coverage"
|
|
},
|
|
"dependencies": {
|
|
"@peculiar/x509": "^2.0.0",
|
|
"fastify": "^4.28.1",
|
|
"ioredis": "^5.4.1",
|
|
"pg": "^8.12.0",
|
|
"reflect-metadata": "^0.2.2",
|
|
"relay-auth": "file:../relay-auth",
|
|
"relay-contracts": "file:../relay-contracts",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^25.9.3",
|
|
"@types/pg": "^8.11.10",
|
|
"@vitest/coverage-v8": "^4.1.9",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^6.0.3",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|