This folder contains a variant of the Quick Start SSL app configured to use Redpanda Serverless as the target cluster. You may follow the instructions on Redpanda Docs to perform the following operations:
- deploy a Serverless Cluster
- create a user that uses
SCRAM-SHA-256
mechanism - create a topic
- allow
All
permissions to the user on the topic - allow
All
permissions to the user on the consumer groupquick-start-group
The docker-compose.yml file has been revised to realize the integration with Redpanda Serverless as follows:
-
removal of the
broker
service, because replaced by the remote cluster -
kafka-connector:
- definition of new environment variables to configure remote endpoint, credentials, and topic name in the
adapters.xml
through the variable-expansion feature of Lightstreamer:... environment: - bootstrap_server=${bootstrap_server} - username=${username} - password=${password} # adapters.xml uses env variable "topic_mapping", built from env variable "topic" - topic_mapping=map.${topic}.to ...
- adaption of
adapters.xml
to include:-
new Kafka cluster address retrieved from the environment variable
bootstrap_server
:<param name="bootstrap.servers">$env.bootstrap_server</param>
-
encryption settings:
<param name="encryption.enable">true</param> <param name="encryption.protocol">TLSv1.2</param> <param name="encryption.hostname.verification.enable">true</param>
-
authentication settings, with the credentials retrieved from environment variables
username
andpassword
:<param name="authentication.enable">true</param> <param name="authentication.mechanism">SCRAM-SHA-256</param> <param name="authentication.username">$env.username</param> <param name="authentication.password">$env.password</param>
-
parameter
map.<topic>.to
built from env variabletopic_mapping
, composed from env variabletopic
<param name="$env.topic_mapping">item-template.stock</param>
-
- definition of new environment variables to configure remote endpoint, credentials, and topic name in the
-
producer:
- parameter
--boostrap-servers
retrieved from the environment variablebootstrap_server
- parameter
--topic
retrieved from the environment variabletopic
- provisioning of the
producer.properties
configuration file to enableSASL/SCRAM
over TLS, with username and password retrieved from the environment variablesusername
andpassword
:
# Configure SASL/PLAIN mechanism sasl.mechanism=SCRAM-SHA-256 # Enable SSL encryption security.protocol=SASL_SSL # JAAS configuration sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="${username}" password="${password}";
- parameter
From this directory, run follow the command:
$ bootstrap_server=<bootstrap_server> username=<username> password=<password> topic=<topic> ./start.sh
where:
bootstrap_server
is the bootstrap server address of the Redpanda clusterusername
andpassword
are the credentials of the user created from the Redpanda Consoletopic
is the name of the topic created on the rpk tool or from the Redpanda Console
Then, point your browser to http://localhost:8080/QuickStart.