feat/federation-m2-cli
main
Implements the two halves of FED-M2-08: Gateway (apps/gateway/src/federation/): - federation-admin.dto.ts: CreatePeerKeypairDto, StorePeerCertDto, GenerateEnrollmentTokenDto, RevokeGrantBodyDto - federation.controller.ts: FederationController under /api/admin/federation with AdminGuard on all routes. Grant CRUD (create, list, get, revoke) delegating to GrantsService. Token generation delegating to EnrollmentService + returning enrollmentUrl. Peer listing via direct DB query. Peer keypair generation via webcrypto + @peculiar/x509 CSR generation. Peer cert storage with X509Certificate serial/notAfter extraction. - federation.module.ts: register FederationController CLI (packages/mosaic/src/commands/federation.ts): - mosaic federation (alias: fed) command group - grant create/list/show/revoke/token subcommands - peer list/add subcommands (add runs full enrollment flow) - Admin token resolved from -t flag or meta.json adminToken - packages/mosaic/src/cli.ts: register registerFederationCommand Tests (apps/gateway/src/federation/__tests__/federation.controller.spec.ts): - listGrants, createGrant, generateToken, listPeers coverage Co-Authored-By: Claude Sonnet 4.6 <[email protected]>