Move DB token from overrideProvider (which requires an existing binding)
to the providers array so Nest can resolve GrantsService dependencies
when FederationModule is tested without DatabaseModule.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Guard against partial env var sets where STEP_CA_AVAILABLE=1 is set
but provisioner key or root cert path are missing, which would cause
CaService constructor to throw during NestJS module instantiation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tests MILESTONES.md acceptance criterion #6: peer add flow yields an
active peer record with a valid cert + key. Simulates two gateways
against a single NestJS app instance with FederationModule + overridden
AdminGuard. Steps: keypair → enrollment → cert storage → DB assertion.
Gated by FEDERATED_INTEGRATION=1 and STEP_CA_AVAILABLE=1.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>