nestjs-async-schema-registry
v1.1.0
Published
Nest.js module for Confluent Schema Registry
Downloads
13
Readme
Tiny NestJS module to use with Confluent Schema Registry
1. Install
npm install @goopen/nestjs-schema-registry @kafkajs/confluent-schema-registry
2. Register the Confluent schema module in your app
@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 {}
3. You're then able to use the injector to use the schema registry
@Injectable()
export class KafkaService{
constructor(
@InjectSchemaRegistry() private readonly schemaRegistry: SchemaRegistry,
) {}
}