What is a Kahpp Instance?

A Kahpp Instance or just Instance is a YAML file, essentially a configuration, but we can think of it as the description of the pipeline.

Simple instance

Here a straightforward Kahpp instance that consumes from source-topic and sinks records on sink-topic.

kahpp:
  group: dev
  name: simple-instance
  topics:
    source: source-topic
    sink: sink-topic
  streamsConfig:
    bootstrapServers:
      - kafka:9092
    cache-max-size-buffering: 300MB
  steps:
    - name: produceRecordToSinkTopic
      type: dev.vox.platform.kahpp.configuration.topic.ProduceToTopic
      config:
        topic: sink

Kahpp instance location

Default location for an Instance is kahpp/application.yaml.
It's possible to override the location using the KAHPP_CONFIG_LOCATION environment variable.

Configuration

YAML KEY DESCRIPTION
kahpp.group Logical name of the group that owns the instance, it can be company or teams or domain etc.
kahpp.name Name of the instance
kahpp.topics.source Source topic, the entry point of the pipeline
kahpp.streamsConfig.bootstrapServers The Kafka bootstrap servers.
kahpp.streamsConfig.* All other kahpp.streamsConfig, follow the official Kafka configuration parameter reference
kahpp.steps List of the steps, describe the pipeline.