WalFlow.Sinks.Kafka
0.1.0-alpha.alpha.20260708090623
This is a prerelease version of WalFlow.Sinks.Kafka.
dotnet add package WalFlow.Sinks.Kafka --version 0.1.0-alpha.alpha.20260708090623
NuGet\Install-Package WalFlow.Sinks.Kafka -Version 0.1.0-alpha.alpha.20260708090623
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WalFlow.Sinks.Kafka" Version="0.1.0-alpha.alpha.20260708090623" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WalFlow.Sinks.Kafka" Version="0.1.0-alpha.alpha.20260708090623" />
<PackageReference Include="WalFlow.Sinks.Kafka" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WalFlow.Sinks.Kafka --version 0.1.0-alpha.alpha.20260708090623
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WalFlow.Sinks.Kafka, 0.1.0-alpha.alpha.20260708090623"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WalFlow.Sinks.Kafka@0.1.0-alpha.alpha.20260708090623
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WalFlow.Sinks.Kafka&version=0.1.0-alpha.alpha.20260708090623&prerelease
#tool nuget:?package=WalFlow.Sinks.Kafka&version=0.1.0-alpha.alpha.20260708090623&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WalFlow.Sinks.Kafka
Kafka sink for WalFlow.
Configuration
{
"KafkaSink": {
"BootstrapServers": "localhost:9092",
"TopicName": "walflow-cdc",
"Acks": "all",
"EnableIdempotence": true,
"CompressionType": "snappy",
"Authentication": {
"SecurityProtocol": "Plaintext",
"SaslMechanism": null,
"SaslUsername": null,
"SaslPassword": null,
"SslCaLocation": null,
"SslCertificateLocation": null,
"SslKeyLocation": null,
"SslKeyPassword": null
},
"IncludeHeaders": true,
"Partitioning": {
"Strategy": "Table"
}
}
}
Settings
| Setting | Type | Default | Supported values | Notes |
|---|---|---|---|---|
BootstrapServers |
string |
required | Kafka bootstrap list (comma-separated) | Example: broker1:9092,broker2:9092 |
TopicName |
string |
required | any topic name | Destination topic |
Acks |
string |
"all" |
leader/1, all/-1 |
Producer ack mode; none/0 is rejected because the sink declares flush-acknowledged durability |
EnableIdempotence |
bool |
true |
true, false |
Idempotent producer; requires Acks=all or Acks=-1 |
CompressionType |
string |
"snappy" |
none, gzip, snappy, lz4, zstd |
Kafka compression codec |
Authentication |
KafkaAuthenticationOptions |
{} |
object | Preferred auth/TLS container |
Authentication.SecurityProtocol |
string |
"Plaintext" |
Plaintext, Ssl, SaslPlaintext, SaslSsl |
Transport/auth protocol |
Authentication.SaslMechanism |
string? |
null |
Plain, ScramSha256, ScramSha512, Gssapi, OAuthBearer |
Required for SASL protocols |
Authentication.SaslUsername |
string? |
null |
any non-empty string | Required for SASL protocols |
Authentication.SaslPassword |
string? |
null |
any non-empty string | Required for SASL protocols |
Authentication.SslCaLocation |
string? |
null |
file path | Optional CA cert path for TLS |
Authentication.SslCertificateLocation |
string? |
null |
file path | Optional client cert path (mTLS) |
Authentication.SslKeyLocation |
string? |
null |
file path | Optional client private key path (mTLS) |
Authentication.SslKeyPassword |
string? |
null |
any string | Optional client private key password |
IncludeHeaders |
bool |
true |
true, false |
Adds operation and table headers |
FlushTimeout |
TimeSpan |
00:00:05 |
valid TimeSpan |
Used by FlushAsync |
Partitioning |
SinkPartitioningOptions |
Strategy=Single |
Single, Fixed, Connector, Schema, Table, Operation |
Resolved token is Kafka message key |
Authentication Examples
SASL/SCRAM over TLS:
{
"KafkaSink": {
"BootstrapServers": "kafka.example.com:9093",
"TopicName": "walflow-cdc",
"Authentication": {
"SecurityProtocol": "SaslSsl",
"SaslMechanism": "ScramSha512",
"SaslUsername": "walflow",
"SaslPassword": "secret",
"SslCaLocation": "/etc/ssl/certs/ca.pem"
}
}
}
TLS client certificate (mTLS):
{
"KafkaSink": {
"BootstrapServers": "kafka.example.com:9093",
"TopicName": "walflow-cdc",
"Authentication": {
"SecurityProtocol": "Ssl",
"SslCaLocation": "/etc/ssl/certs/ca.pem",
"SslCertificateLocation": "/etc/ssl/certs/client.pem",
"SslKeyLocation": "/etc/ssl/private/client.key",
"SslKeyPassword": "changeit"
}
}
}
Inline DI Registration
services.AddSingleton<ISink>(sp =>
{
var options = Options.Create(new KafkaSinkOptions
{
BootstrapServers = "localhost:9092",
TopicName = "walflow-cdc"
});
return new KafkaSink(
options,
sp.GetRequiredService<ILogger<KafkaSink>>());
});
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Confluent.Kafka (>= 2.15.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Options (>= 10.0.9)
- WalFlow.Abstractions (>= 0.1.0-alpha.alpha.20260708090623)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WalFlow.Sinks.Kafka:
| Package | Downloads |
|---|---|
|
WalFlow
Meta-package that pulls in the full WalFlow CDC stack for consumers who want the default everything-included setup. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.alpha... | 85 | 7/8/2026 |
| 0.1.0-alpha.alpha... | 88 | 3/30/2026 |