Skip to content

callistaenterprise/blog-kroxylicious-kafka-encryption

Repository files navigation

Kroxylicious Demo

This repository contains a demo of an application that uses Kroxylicious to encrypt data that will be written to Kafka.

Components

The demo contains:

  • A Confluent Kafka broker cluster
  • Confluent Control Center to illustrate encrypted vs unencrypted data
  • A Kroxylicious implementation
  • A Quarkus application that produces and consumes weather information

Docker Compose is used to control the components - see the docker-compose.yaml file for more info.

The demo consists of two parts - a producer:

  • The Quarkus weather application produces random weather reading on a topic in Json format. Quarkus connects to the Kroxylicious proxy
  • The Kroxylicious application encrypts the data using keys stored in Hashicorp vault
  • Kroxylicious produces messages using the Kafka brokers

...and a consumer:

  • The Quarkus weather application consumers records from the weather reading requestin records from Kroxylicious
  • Kroxylicious reads an encrypted message from the broker
  • Kroxylicious decrypts the message using keys stored in Hashicorp vault

Usage

The repository is a Gradle multi module project.

To build the project:

> ./gradlew clean build

To run the project using Docker Compose:

> docker compose build
> docker compose up -d

About

Demo of encryption of Kafka records using Kroxylicious

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published