Use this guide to start writing an integration application that connects to an existing DSX Exchange MQTT broker. DSX Exchange uses standard MQTT 3.1.1, so you do not need a DSX-specific client library. Build your integration with an existing MQTT SDK for your runtime, then use the broker endpoint, authentication material, topics, and schemas supplied by the DSX Exchange operator.
The examples below show both application level SDK usage and manual broker interaction. The standalone MQTT CLI commands are included to help debug connectivity, credentials, and topic permissions while you develop the application. They are not the recommended shape for a production integration.
This page assumes a broker already exists. For broker installation and operator setup, see Deployment.
mqttx.DSX Exchange supports three authentication modes. Choose based on your environment:
The local evaluation environment deploys with noauth enabled by default, so the CLI examples in this guide work without any credentials. For production, the operator configures OAuth2, mTLS, or both. Ask your operator which mode and credentials to use.
For the full auth model and permission configuration, see Authentication.
Set the broker endpoint, authentication material, and topic configuration you received from the operator in your application configuration.
If you are using the local evaluation environment and it is already deployed,
start the broker port forwards in one terminal and leave that terminal open
while you test. The script starts kubectl port-forward processes, then opens a
shell. The port forwards stop when you exit that shell. To create the local
broker first, use the Deployment evaluation install.
In the shell opened by that script, or in another terminal while that shell stays open, use the local CSC broker endpoint:
For OAuth2, set the MQTT username to oauthtoken and pass the access token as
the MQTT password. Obtain a token from the OIDC provider configured by your
operator (e.g., Keycloak):
For mTLS, configure the SDK’s TLS options with the CA certificate, client certificate, and client key supplied by the operator.
Use the MQTT library that fits the application you are already building. These are examples, not a required list:
All SDKs follow the same basic flow:
Use a standalone MQTT CLI when you need to isolate broker access, credentials, or topic permissions from your application code. Keep one terminal subscribed before publishing from another terminal.
The subscriber should print the payload: