Integrator Quickstart
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.
Prerequisites
- Broker host, port, and authentication details from the operator.
- Topic permissions for the messages your integration will publish or subscribe.
- An MQTT SDK for the language or platform your application uses.
- Optional debug tooling such as
mqttx. - Network access to the broker’s MQTT listener.
Authentication
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.
Connection Settings
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,
connect to the CSC Envoy Gateway at its MetalLB address. To create the local
broker first, use the Deployment evaluation install. On
macOS, install and start docker-mac-net-connect from the local quick start so
the host can reach the MetalLB IPs.
Use the local CSC broker endpoint:
Adding credentials for production
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.
Choose an MQTT SDK
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:
- Load broker host, port, topic, and auth material from configuration.
- Create an MQTT 3.1.1 client with a stable client ID.
- Connect with the authentication mode assigned by the operator.
- Subscribe, publish, or both, using topics allowed by your permissions.
- Handle reconnects, publish acknowledgements, and application shutdown.
CLI Debug Smoke Test
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:
Next Steps
- Build your integration as an application using the MQTT SDK for your runtime.
- Use the schema pages to choose the correct topics and payloads for your domain.
- Use OAuth2 for software integrations or mTLS for BMS, OT, and device integrations before production use. Keep noauth limited to local evaluation and debug environments.