This is the implementation of the EdgelessDB data handler for MindsDB.

Edgeless is a full SQL database, tailor-made for confidential computing. It seamlessly integrates with your existing tools and workflows to help you unlock the full potential of your data.

Implementation

This handler is implemented by extending the MySQL connector. The required arguments to establish a connection are as follows:

  • host: the host name of the EdgelessDB connection
  • port: the port to use when connecting
  • user: the user to authenticate
  • password: the password to authenticate the user
  • database: database name

To use the full potensial of EdgelessDB, you can also specify the following arguments:

  • ssl: whether to use SSL or not
  • ssl_ca: path or url to the CA certificate
  • ssl_cert: path or url to the client certificate
  • ssl_key: path or url to the client key

If you installed MindsDB locally via pip, you need to install all handler dependencies manually. To do so, go to the handler’s folder (mindsdb/integrations/handlers/edgelessdb_handler) and run this command: pip install -r requirements.txt.

Usage

In order to use EdgelessDB as a data source in MindsDB, you need to use the following syntax:

CREATE DATABASE edgelessdb_datasource
    WITH ENGINE = "EdgelessDB",
    PARAMETERS = {
    "user": "root",
    "password": "test123@!Aabvhj",
    "host": "localhost",
    "port": 3306,
    "database": "test_schema"
    }

Or you can use the following syntax:


CREATE DATABASE edgelessdb_datasource2
    WITH ENGINE = "EdgelessDB",
    PARAMETERS = {
    "user": "root",
    "password": "test123@!Aabvhj",
    "host": "localhost",
    "port": 3306,
    "database": "test_schema",
    "ssl_cert": "/home/marios/demo/cert.pem",
    "ssl_key": "/home/marios/demo/key.pem"
    }

You can use this established connection to query your table as follows:

SELECT * FROM edgelessdb_datasource.table_name