Skip to main content

Connection providers

Every connection kind Baleia knows, what it can be used for, and its configuration. See ADR 0002 for the model and ADR 0011 for network safety.

Bindable into lists the federated engines whose binder can bind the kind, with the connectors it may use (the first is the default; internal/bindings).

KindLabelFamilyRolesEngine kindBindable intoStatus
clickhouseClickHousedatabasemetadata, direct_engineclickhouse—supported
dorisApache Dorisenginefederated_enginedoris—unsupported (planned after v1 (#21))
flightsqlArrow Flight SQLenginemetadata, direct_engineflightsql—supported
glueAWS Glue Data Catalogmetastoremetadata—trino (iceberg, hive, delta_lake)supported
hiveHive Metastoremetastore—trino (iceberg, hive, delta_lake)supported
icebergIceberg REST catalogicebergmetadata—trino (iceberg)supported
lakekeeperLakekeepericebergmetadata—trino (iceberg)supported
mariadbMariaDBdatabasemetadata, direct_enginemariadbtrino (mariadb)supported
mysqlMySQLdatabasemetadata, direct_enginemysqltrino (mysql)supported
nessieProject Nessieicebergmetadata—trino (iceberg)supported
oracleOracle Databasedatabasemetadata, direct_engineoracletrino (oracle)supported
polarisApache Polarisicebergmetadata—trino (iceberg)supported
postgresqlPostgreSQLdatabasemetadata, direct_enginepostgresqltrino (postgresql)supported
sqliteSQLitedatabasemetadata, direct_enginesqlite—unsupported (BALEIA_SQLITE_ROOT not set)
sqlserverSQL Serverdatabasemetadata, direct_enginesqlservertrino (sqlserver)supported
starrocksStarRocksenginefederated_enginestarrocks—unsupported (planned after v1 (#30))
trinoTrinoenginemetadata, federated_enginetrino—supported
unityUnity Catalogicebergmetadata—trino (iceberg)supported

clickhouse — ClickHouse​

FieldTypeRequiredDefaultNotes
hosttextyes
portint81238123 for HTTP, 8443 for HTTPS
secureboolfalse
databasetextdefault
usernametextdefault
passwordsecret

doris — Apache Doris​

FieldTypeRequiredDefaultNotes
hosttextyes
portint9030
usernametext
passwordsecret

flightsql — Arrow Flight SQL​

FieldTypeRequiredDefaultNotes
hosttextyes
portintyes
tlsbooltrue
authselectnoneone of none, basic, token
usernametextBasic authentication
passwordsecretBasic authentication
tokensecretToken authentication

glue — AWS Glue Data Catalog​

FieldTypeRequiredDefaultNotes
regiontextyesAWS region of the Data Catalog, e.g. us-east-1
catalog_idtextCross-account Data Catalog ID; empty uses the caller's account
endpointtextOverride for tests or regional endpoints, e.g. http://moto:5000; empty uses the AWS default
access_keytextStatic credentials; when empty the operator must allow ambient credentials (a role ARN alone still needs base credentials)
secret_keysecret
role_arntextAssume this role (with the keys, or the ambient chain) for Glue and S3
external_idtextExternal ID of the assumed role's trust policy
storage.typeselects3one of s3. Object storage the table data resides on (S3-compatible in v1)
storage.endpointtextempty uses the AWS default for the region
storage.regiontext
storage.path_styleboolfalseRequired by most S3-compatible stores (RustFS, MinIO)
storage.access_keytextOnly when the table data is not on AWS S3 with the Glue credentials
storage.secret_keysecret

hive — Hive Metastore​

FieldTypeRequiredDefaultNotes
metastore_uritextyesThrift URI of the Hive Metastore, e.g. thrift://hms:9083
storage.typeselects3one of s3. Object storage the table data resides on (S3-compatible in v1)
storage.endpointtexte.g. http://rustfs:9000; empty uses the AWS default for the region
storage.regiontexte.g. us-east-1
storage.path_styleboolfalseRequired by most S3-compatible stores (RustFS, MinIO)
storage.access_keytext
storage.secret_keysecret

iceberg — Iceberg REST catalog​

FieldTypeRequiredDefaultNotes
urlurlyesBase URI of the Iceberg REST API (the one /v1/config is under)
warehousetext
tokensecret
client_idtext
client_secretsecret
oauth2_server_uriurlDefault: /v1/oauth/tokens
scopetext
storage.endpointtextOnly with an S3 access key, e.g. https://.compat.objectstorage..oraclecloud.com; empty uses the AWS default for the region
storage.regiontextOnly with an S3 access key, e.g. us-east-1
storage.path_styleboolfalseOnly with an S3 access key; required by most S3-compatible stores
storage.access_keytextSet it when the object store has no STS: the engine then uses these credentials instead of vended ones
storage.secret_keysecret

lakekeeper — Lakekeeper​

FieldTypeRequiredDefaultNotes
urlurlyesServer root, e.g. http://lakekeeper:8181 (without /catalog)
auth_modeselectnoneone of none, oauth2. none is for servers with authorization off
client_idtextRequired with auth_mode=oauth2
client_secretsecretRequired with auth_mode=oauth2
token_endpointurlThe IdP token endpoint (not the Lakekeeper URL); required with auth_mode=oauth2
scopetext
storage.endpointtextOnly with an S3 access key, e.g. https://.compat.objectstorage..oraclecloud.com; empty uses the AWS default for the region
storage.regiontextOnly with an S3 access key, e.g. us-east-1
storage.path_styleboolfalseOnly with an S3 access key; required by most S3-compatible stores
storage.access_keytextSet it when the object store has no STS: the engine then uses these credentials instead of vended ones
storage.secret_keysecret

mariadb — MariaDB​

FieldTypeRequiredDefaultNotes
hosttextyes
portint3306
databasetext
tlsselectpreferredone of preferred, true, skip-verify, false
usernametextyes
passwordsecret

mysql — MySQL​

FieldTypeRequiredDefaultNotes
hosttextyes
portint3306
databasetext
tlsselectpreferredone of preferred, true, skip-verify, false
usernametextyes
passwordsecret

nessie — Project Nessie​

FieldTypeRequiredDefaultNotes
urlurlyesServer root, e.g. http://nessie:19120 (without /iceberg)
warehousetextDefault: the server's default warehouse
tokensecret
storage.endpointtextOnly with an S3 access key, e.g. https://.compat.objectstorage..oraclecloud.com; empty uses the AWS default for the region
storage.regiontextOnly with an S3 access key, e.g. us-east-1
storage.path_styleboolfalseOnly with an S3 access key; required by most S3-compatible stores
storage.access_keytextSet it when the object store has no STS: the engine then uses these credentials instead of vended ones
storage.secret_keysecret

oracle — Oracle Database​

FieldTypeRequiredDefaultNotes
hosttextyes
portint1521
service_nametextyese.g. FREEPDB1
cancel_with_alter_systemboolfalseRequires the ALTER SYSTEM permission and SELECT on v$session and v$sql; lets a running statement be cancelled from another process
usernametextyes
passwordsecret

polaris — Apache Polaris​

FieldTypeRequiredDefaultNotes
urlurlyesServer root, e.g. http://polaris:8181 (without /api/catalog)
realmtextPOLARIS
client_idtextyes
client_secretsecretyes
storage.endpointtextOnly with an S3 access key, e.g. https://.compat.objectstorage..oraclecloud.com; empty uses the AWS default for the region
storage.regiontextOnly with an S3 access key, e.g. us-east-1
storage.path_styleboolfalseOnly with an S3 access key; required by most S3-compatible stores
storage.access_keytextSet it when the object store has no STS: the engine then uses these credentials instead of vended ones
storage.secret_keysecret

postgresql — PostgreSQL​

FieldTypeRequiredDefaultNotes
hosttextyes
portint5432
databasetextpostgresDatabase to connect to; every database the user may connect to is listed
sslmodeselectpreferone of disable, allow, prefer, require, verify-ca, verify-full
usernametextyes
passwordsecret

sqlite — SQLite​

FieldTypeRequiredDefaultNotes
pathfile_pathyesPath inside BALEIA_SQLITE_ROOT (relative to it, or absolute)
read_writeboolfalseTakes effect only when the server sets BALEIA_SQLITE_ALLOW_WRITE=true

sqlserver — SQL Server​

FieldTypeRequiredDefaultNotes
hosttextyes
portint1433
databasetextmasterDatabase to connect to; every database the login may access is listed
encryptselecttrueone of true, false, disable, strict
trust_server_certificateboolfalse
cancel_with_killboolfalseRequires the ALTER ANY CONNECTION permission; lets a running statement be cancelled from another process
usernametextyes
passwordsecret

starrocks — StarRocks​

FieldTypeRequiredDefaultNotes
hosttextyes
portint9030
usernametext
passwordsecret

trino — Trino​

FieldTypeRequiredDefaultNotes
urlurlyese.g. http://trino:8080
service_usertextbaleiaIdentity for metadata reads and service statements
admin_usertextbaleia-adminIdentity that cancels queries; never runs user SQL
usernametextPassword authentication (HTTPS only); must be allowed to impersonate the identities Baleia sends
passwordsecret

unity — Unity Catalog​

FieldTypeRequiredDefaultNotes
urlurlyesServer root, e.g. http://unity:8080 or a Databricks workspace URL
tokensecretOSS token or a Databricks personal access token
iceberg_pathtext/api/2.1/unity-catalog/icebergOverride for Databricks: /api/2.1/unity-catalog/iceberg-rest
storage.endpointtextOnly with an S3 access key, e.g. https://.compat.objectstorage..oraclecloud.com; empty uses the AWS default for the region
storage.regiontextOnly with an S3 access key, e.g. us-east-1
storage.path_styleboolfalseOnly with an S3 access key; required by most S3-compatible stores
storage.access_keytextSet it when the object store has no STS: the engine then uses these credentials instead of vended ones
storage.secret_keysecret