Manage JDBC Drivers

Due to licensing restrictions, GoodData is not allowed to distribute JDBC drivers for certain databases. However, you can mount custom JDBC drivers into GoodData.CN by using an init container based on a custom Docker image.

Mount Custom JDBC Drivers

Follow the steps below to include your own JDBC drivers in GoodData.CN.

Steps:

  1. Download the appropriate JDBC driver to a local folder, for example:

    /tmp/db-drivers/BIGQUERY
    

    Notes

    • Store each driver inside its own dedicated folder.
    • Unpack the driver files if necessary.
    • Complete any additional steps required for your specific database as described in Supported Databases.
  2. Create a Dockerfile that copies the JDBC driver files into the image:

    # file name: Dockerfile
    # base image can be anything containing the `cp` command.
    FROM busybox
    COPY ./db-drivers/ /data/
    
  3. Build the custom image and push it to a Docker registry accessible to your Kubernetes cluster:

    docker build -t custom.registry.com/gooddata-cn-extra-drivers .
    docker push custom.registry.com/gooddata-cn-extra-drivers
    
  4. When installing or upgrading the GoodData.CN Helm chart, reference your custom image in one of the following ways:

    • Option 1: Specify it directly in the command line:

      --set sqlExecutor.extraDriversInitContainer=<custom-image-with-drivers>
      
    • Option 2: Update the sqlExecutor.extraDriversInitContainer entry in the Helm chart options to point to your custom image.

After completing these steps, GoodData.CN will automatically load your custom JDBC drivers at startup, enabling connectivity to additional databases.