npm install @goopen/nestjs-schema-registry @kafkajs/confluent-schema-registry
@Module({
imports: [
SchemaRegistryModule.register({
isGlobal: true,
host: SCHEMA_REGISTRY_URL,
auth: {
username: SCHEMA_REGISTRY_USERNAME,
password: SCHEMA_REGISTRY_PASSWORD,
},
}),
],
})
export class KafkaModule {}
Or if you wish to inject the ConfigModule to pull the configuration from environment variables
@Module({
imports: [
ConfigModule.forRoot(),
SchemaRegistryModule.registerAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => ({
host: configService.get<string>('SCHEMA_REGISTRY_URL'),
auth: {
username: configService.get<string>('SCHEMA_REGISTRY_USERNAME'),
password: configService.get<string>('SCHEMA_REGISTRY_PASSWORD'),
},
}),
}),
]
})
export class KafkaModule {}
@Injectable()
export class KafkaService{
constructor(
@InjectSchemaRegistry() private readonly schemaRegistry: SchemaRegistry,
) {}
}