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" />
                    
Directory.Packages.props
<PackageReference Include="WalFlow.Sinks.Kafka" />
                    
Project file
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
                    
#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
                    
Install as a Cake Addin
#tool nuget:?package=WalFlow.Sinks.Kafka&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Tool

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 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.

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