Install a Custom JDBC Driver
- Self-hosted
This guide walks through packaging a custom JDBC driver, adding it to your Dataplane image, and verifying the new connector in the app.
Prerequisites
- A self-hosted Qualytics deployment whose Dataplane image you can rebuild and redeploy.
- The vendor's JDBC driver JAR and its dependencies.
- A YAML driver definition written against the Requirements contract.
Steps
Step 1: Package the driver. Place the YAML definition at META-INF/jdbc-drivers/<prefix>.yaml, either inside the vendor JAR or in a separate JAR alongside it.
Step 2: Confirm the archive records the META-INF/jdbc-drivers/ directory entry by running jar tf my-driver.jar and checking for a META-INF/jdbc-drivers/ line ending in /. The jar tool ships with the JDK on every operating system. A JAR without that directory entry is silently invisible to discovery.
Step 3: Build a Dataplane image that carries the driver, starting from the same image and tag your deployment currently runs, and push it to a container registry your cluster can pull from:
For setups that do not run the Dataplane from a container image, place the JAR anywhere the Dataplane process loads classes from and skip to Step 5.
Step 4: Point the deployment at the new image in your Helm values and apply the change with helm upgrade:
global:
imageUrls:
dataplaneImageUrl: "your-registry.example.com/qualyticsai/dataplane"
dataplaneImage:
image:
dataplaneImageTag: "<your-custom-tag>"
If the registry requires credentials, point the pull secret listed in global.imagePullSecrets (the regcred Secret by default) at it. The upgrade restarts the Dataplane, and drivers are discovered once, at startup; there is no hot reload.
Step 5: Open the add-datastore page. The new connector appears in the picker under the displayName from its definition, and its connection form shows the fields the definition declares.
Step 6: Create a datastore with the new connector and test the connection. From here it syncs, profiles, and scans like any built-in JDBC connector.
Carry the driver across upgrades
The driver lives in your Dataplane image, not in the platform. When an upgrade rebuilds the image, include the driver JAR again: without it, the connector disappears from the picker and existing datastores of that type can no longer connect.
If the Dataplane does not start after the change, or the connector never appears, see Troubleshooting.