One of the main features of ksqlDB is the capability of running in headless mode(non-interactive mode).
Supertubes has built-in support for managing ksqlDB servers running in headless mode.
Prerequisites 🔗︎
-
You must create a file containing the set of queries that is assigned to the ksqlDB server(s). Currently Supertubes only supports providing the
queries.sql
file as aConfigMap
object.Provide the name of the configmap in the
spec.queryConfigMapName
field of theKsqlDB
custom resource. This setting defaults to<name of the KsqlDB CR>-ksql-queries-configmap
. The file is supplied as theKSQL_KSQL_QUERIES_FILE
environment variable to the server (this cannot be modified). -
In order to enable headless mode, set the
spec.headless
field of theKsqlDB
custom resource totrue
.
Behavior 🔗︎
-
In headless mode the ksqlDB REST API is disabled, therefore authorization policies will not take effect.
-
If Kafka ACLs are enabled, configure the input and output topics configurations (
spec.inputTopics
andspec.outputTopics
fields inKsqlDB
custom resource) aligned with your queries to enable ksqlDB to access those topics.
Architecture 🔗︎
The following diagram shows how ksqlDB integrates with Supertubes.
For more details on how Supertubes manages the ksqlDB servers, read our Managing ksqlDB with Supertubes blog post.