1.1.1 • Published 11 months ago

@goopen/nestjs-schema-registry v1.1.1

Weekly downloads
-
License
BSD
Repository
github
Last release
11 months ago

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,
  ) {}
}
1.1.1

11 months ago

1.1.0

2 years ago

1.0.0

2 years ago