ESS’ Kafka Configuration#

ESS’ services communicate with each other by sending messages through Kafka. For example:

The following discusses some key Kafka configurations.

For more information on Kafka configuration, see https://quarkus.io/guides/kafka#kafka-configuration.

Tip

Kafka MUST be configured with topic auto-creation enabled (i.e. auto.create.topics.enable = true). See Custom MSK Configurations.

Configuring Bootstrap Kafka Brokers#

You can configure ESS services to connect with Kafka either globally or per channel.

Global Configuration#

To configure globally such that all the ESS’ message channels use the same Kafka instance, you can set KAFKA_BOOTSTRAP_SERVERS configuration.

Note

Inrupt-provided Kustomize overlays include, in the kafka-credentials.env file, KAFKA_BOOTSTRAP_SERVERS as an input to update. Set its value as part of updating inputs for your deployment.

Per Channel Configuration#

To configure per channel such that the message channel uses a separate Kafka instance, for the services that use the channel, configure the corresponding input and output bootstrap servers for that channel MP_MESSAGING_[INCOMING|OUTGOING]_[CHANNEL]_BOOTSTRAP_SERVERS.

Configuring Password for Encryption and Decryption of Messages#

By default, Inrupt enables data encryption for all data that pass through the Kafka messaging system.

Tip

You MUST set the data encryption key values to a strong password.