diff --git a/apps/gateway/src/app.module.ts b/apps/gateway/src/app.module.ts index dc9a6e32..fd0016ad 100644 --- a/apps/gateway/src/app.module.ts +++ b/apps/gateway/src/app.module.ts @@ -26,6 +26,13 @@ import { WorkspaceModule } from './workspace/workspace.module.js'; import { QueueModule } from './queue/queue.module.js'; import { FederationModule } from './federation/federation.module.js'; import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'; +import { loadConfig } from '@mosaicstack/config'; + +// Federation (step-ca client, enrollment, federation verbs) is only wired for +// tier 'federated' — CaService hard-requires STEP_CA_* at construction, which +// must not gate standalone/local boots (docker-compose.federated.yml: the +// federation profile "must not start in non-federated dev"). +const federationEnabled = loadConfig().tier === 'federated'; @Module({ imports: [ @@ -53,7 +60,7 @@ import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'; QueueModule, ReloadModule, WorkspaceModule, - FederationModule, + ...(federationEnabled ? [FederationModule] : []), ], controllers: [HealthController], providers: [