How-to guide

Register data sources

Add a data source, inspect its schema and make its tables queryable.

Fabric Current 3 min read Updated

Prerequisites

  • Admin access to Kiwi Fabric
  • Network access from Kiwi Fabric to the source

A data source is a connection to one external system. A capability is a named table or stored procedure inside it that you can reference in SQL. You register the source first, then its capabilities.

Add the source#

bash
kiwi fabric source-add --name orders-sql --type Rdbms --subtype SqlServer \
  --conn "<connection-string-template>" --username "<user>" --password "<password>" \
  --desc "Order management database"
Option Meaning
--name Unique name for the source
--type Rdbms, Rest, Soap, NoSql, File, Cloud or VectorDb
--subtype The engine, for example SqlServer, Postgres, MongoDB, Qdrant, CSV
--conn Connection string template
--username, --password Credentials, stored encrypted

Credentials are never stored in plaintext. Where the encryption key lives is configurable. See Credential storage.

The Data Sources page listing five registered sources with their category, sub-type, a masked connection string and status
Registered data sources. Connection strings are masked in this screenshot.

In the Web UI, Add Data Source opens the same form. Each row has actions to edit, enable or disable, import capabilities, view version history and delete.

The Edit panel for a SQL Server data source with description, connection string template, username and password fields
Editing a source. The type and sub-type cannot change after creation, and leaving the password blank keeps the stored one.

A File source reads a file you have uploaded to the server. Upload it on the Uploaded Files page (CSV, TSV, JSON, Parquet, Avro or Excel), then copy its reference into the source's file path.

The Uploaded Files page with a drag-and-drop upload area and a table of uploaded Parquet files with copyable references
Uploaded files and the reference to copy into a File data source.

Inspect the live schema#

bash
kiwi fabric source-schema --name orders-sql

This fetches the actual tables and columns from the underlying system so you can decide what to expose.

Register capabilities#

Use the Web UI import wizard (tables and stored procedures, column editor, writable flag) or define a capability as JSON and add it:

bash
kiwi fabric cap-add --file capability.json

For each capability you declare its schema, identity column, which predicates may be pushed down to the source, whether it supports paging, and, for write-enabled tables, which write modes it supports and whether compensation is implemented. See Capabilities.

The wizard lists the source's tables and stored procedures, marks the ones already imported, and lets you filter and select. You then review each table before importing it.

The import wizard listing 13 tables and 6 stored procedures from a SQL Server source, each with its column count and an imported badge
Step 1: choose the tables or stored procedures to import.
The Review and Configure step showing a table's logical name, a Writable toggle and each column with its type and whether it is required or nullable
Step 2: edit the logical name, pick the columns, and choose whether the table is writable and published immediately.

Change or remove a source#

bash
kiwi fabric source-update  --name orders-sql --conn "<new-connection-string>"   # omit --username/--password to keep them
kiwi fabric source-disable --name orders-sql   # capabilities stay registered but are not queryable
kiwi fabric source-enable  --name orders-sql
kiwi fabric source-remove  --name orders-sql   # deletes the source and all its capabilities

Move configuration between environments#

kiwi fabric export writes selected object types (data sources and capabilities, among others) to an encrypted JSON file protected by a passphrase, and kiwi fabric import loads it elsewhere. Both require superadmin. See the CLI reference.

The Web UI has the same feature under Import / Export: choose what to include (data sources, capabilities, virtual tables, AI assistants, roles, groups, saga templates, users) and set a passphrase that encrypts the credentials.

The Import and Export page with checkboxes for data sources, capabilities, virtual tables, AI assistants, roles, groups, saga templates and users, and passphrase fields
Export selected configuration to an encrypted file.

Expected result

  • The source is listed by kiwi fabric sources
  • Its tables appear as capabilities you can query