Skip to content

callistaenterprise/blog-kroxylicious-kafka-encryption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

11640cf · Jan 2, 2025

History

1 Commit
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025
Jan 2, 2025

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