System Requirements
Conduktor Gateway is provided as a Docker image and should be deployed and managed how is best for your organisation and use case. This can either be deployed in a single container, or more likely a number of Gateway instances can be deployed behind a load balancer and scaled appropriately to meet your needs.
Jump to:
Hardware Requirements
Minimum
- 1 CPU core
- 2 GB of RAM
Recommended
- 2 CPU cores
- 4 GB of RAM
Kafka Requirements
Conduktor Gateway requires Apache Kafka version 2.5.0 or higher. Conduktor Gateway should connect to Kafka as an admin user. As a minimum this user should have rights to:
- Create/Delete/Alter topics
- Commit offsets
- Create/alter/delete consumer groups
- Describe cluster information
Running the gateway
In its most simple form GW can be run from a simple Docker run command with the credentials to connect to you Kafka cluster. However, Gateway needs to interact with your clients and your Kafka to get the most from it.
docker run \
-e KAFKA_BOOTSTRAP_SERVERS=kafka1:9092,kafka2:9092,kafka3:9092 \
-e KAFKA_SASL_MECHANISM=PLAIN \
-e KAFKA_SECURITY_PROTOCOL=SASL_PLAINTEXT \
-e KAFKA_SASL_JAAS_CONFIG='org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";' \
conduktor/conduktor-gateway:2.1.4
If you're interested in trying out Gateway yourself go checkout the demos. For more control over your deployments see the environment variables.
Connecting to secured Kafka
Conduktor Gateway connects to Kafka just like any other client. Variables are prefixed with either KAFKA or GATEWAY, extra configurations (encryption/authentication etc.) can be provided via environment variables, as you can see in the above command. Security configurations can be provided using this scheme. For example:
ssl.truststore.location
would become:
KAFKA_SSL_TRUSTSTORE_LOCATION
for more infomation on this see environment variables.