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.sqlfile as aConfigMapobject.Provide the name of the configmap in the
spec.queryConfigMapNamefield of theKsqlDBcustom resource. This setting defaults to<name of the KsqlDB CR>-ksql-queries-configmap. The file is supplied as theKSQL_KSQL_QUERIES_FILEenvironment variable to the server (this cannot be modified). -
In order to enable headless mode, set the
spec.headlessfield of theKsqlDBcustom 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.inputTopicsandspec.outputTopicsfields inKsqlDBcustom 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.