DSX Exchange is a monorepo for DSX event bus schemas, authentication, deployment, and local evaluation tooling.
Documentation for DSX Exchange is available at https://docs.nvidia.com/dsx-exchange.
DSX Exchange provides the repository pieces needed to describe, deploy, and validate DSX MQTT event bus integrations:
schemas: AsyncAPI contracts for DSX Exchange MQTT topics and payloads.auth-callout: NATS auth callout service for OAuth2, mTLS, NKey, and no-auth profiles.deploy: Helm chart for the NATS event bus deployment.local: Kind-based local evaluation environment, Skaffold deployment, MQTT tests, and benchmark tooling.
The event bus itself is schema agnostic. Schemas document externally visible contracts; NATS and the auth callout enforce routing, federation, and authorization behavior.
- OS: Linux or macOS with Docker support.
- Tools:
go,make,helm,kubectl,kind,docker,jq,yq,cfssl,nsc,addlicense. - Kubernetes: local Kind clusters for e2e testing.
- Runtime: Go modules declare their own supported Go versions.
GPU drivers are not required.
Clone the repository, install the local e2e prerequisites, and run the local validation checks:
git clone https://github.com/NVIDIA/dsx-exchange.git
cd dsx-exchange
make install-e2e-prereqs
make testIf you already have a DSX Exchange broker and need to build or test an MQTT integration application, start with the Integrator Quickstart.
Publish looping dummy BMS data into the local CSC MQTT broker:
make dummy-bmsUse the top-level Makefile for common validation:
make help
make testRun component-specific targets from the directory you are changing, and use
make check for repo-level license and chart validation:
make -C auth-callout test
make checkAfter the local Kind environment is deployed, run the dummy BMS demo with
make dummy-bms.
The local evaluation environment uses the top-level auth-callout and deploy directories directly.
The full local e2e target includes a performance smoke profile sized for repeatable Kind validation:
make testFull benchmark runs are available separately:
make -C local benchmark
make -C local benchmark-full- Release notes: CHANGELOG.md
- Third-party license inventory: THIRD_PARTY_LICENSES.csv and THIRD_PARTY_LICENSES.md
DSX Exchange follows Semantic Versioning (vX.Y.Z), automated via semantic-release. A new version is published automatically when a semantic-release compliant commit is merged to main.
| Commit prefix | Version bump | When to use |
|---|---|---|
fix: |
Patch (Z) | Bug fixes, CVE remediation |
feat: |
Minor (Y) | New features, backward-compatible changes |
feat!: or BREAKING CHANGE: |
Major (X) | Breaking API, schema, or chart changes |
Upcoming work is tracked in GitHub Issues. See CONTRIBUTING.md for how to get involved.
- Start here: CONTRIBUTING.md
- Code of Conduct: CODE_OF_CONDUCT.md
Development quickstart:
git clone https://github.com/NVIDIA/dsx-exchange.git
cd dsx-exchange
make test- Governance: GOVERNANCE.md
- Maintainers: MAINTAINERS.md
- Triage policy: use GitHub issue labels and pull request review from repository maintainers.
- Vulnerability disclosure: SECURITY.md
- Do not file public issues for security reports.
- Support level: Maintained, with best-effort public issue triage.
- Help: file a GitHub issue with a focused reproduction or question.
- Response expectations: no guaranteed service-level agreement.
See SUPPORT.md for details.
Use GitHub issues and pull requests for public project discussion, bug reports, feature requests, and contribution review.
This project is licensed under the Apache License 2.0. See LICENSE for details.