kafka-topology

Build Kafka Streams topologies using helved-utbetaling's DSL wrappers.

1|1|Updated Apr 9, 2024
One-click install
npx skills add https://github.com/navikt/helved-utbetaling --skill kafka-topology
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kafka-topology
Source: https://github.com/navikt/helved-utbetaling/tree/main/.agents/skills/kafka-topology
Command: npx skills add https://github.com/navikt/helved-utbetaling --skill kafka-topology

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Kafka Streams developers often wrestle with verbose setup and boilerplate when defining topologies. This Skill provides a safe, high-level DSL to build, connect, and manage Kafka Streams topologies for the helved-utbetaling project.

Core Features & Use Cases

  • Topology Builder: Define topologies with topology("name") { ... } using the DSL instead of raw Kafka Streams APIs.
  • Topic, Table, and Store abstractions: Use type-safe wrappers to model streams and state for clearer, safer code.
  • Error handling and testing: Built-in mechanisms with Result wrappers and StreamsMock for reliable tests.
  • Best-practice enforcement: Unique processor names, explicit branching with default branches, and safe interaction with state stores.

Quick Start

Define a topology with topology("my-topology") { consume(Topics.input).produce(Topics.output) } and validate it locally using StreamsMock.

Frequently Asked Questions about kafka-topology

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I define Kafka Streams topologies without using raw APIs?

Define Kafka Streams topologies using a type-safe DSL with topology("name") { ... } blocks. This replaces verbose raw Kafka Streams setup by enforcing wrappers for Topics, Tables, and Stores, resulting in clearer and safer code.

How do I test Kafka Streams topologies locally?

Test Kafka Streams topologies locally using the built-in StreamsMock. The DSL includes testing guidance and Result wrappers for error handling, allowing you to validate topology behavior reliably before deployment.

What type-safe abstractions are available for Kafka state stores and streams?

Type-safe abstractions for Kafka state stores and streams include explicit wrappers for Topics, Tables, and Stores. These model streams and state securely, enforcing best practices like unique processor names and safe state store interactions.

Can I use branching and default branches in a Kafka topology DSL?

Yes, the Kafka topology DSL enforces explicit branching with default branches. It ensures safe interaction with state stores and requires unique processor names, preventing common topology configuration errors.

Why use a DSL instead of raw Kafka Streams APIs for topology building?

Use a DSL for Kafka topology building to eliminate verbose boilerplate and reduce setup errors. It enforces best-practice safety constraints and provides high-level wrappers, making topology design, modification, and extension significantly safer than raw APIs.