Quickstart

Quickstart

Bootstrap an admin, register a data source, and run your first federated query.

Fabric Current 2 min read Updated

Prerequisites

  • A running Kiwi Fabric instance and its URL (REST defaults to port 8080)
  • The kiwi command-line shell with the Kiwi Fabric CLI registered
  • Connection details for at least one data source you want to query

This quickstart uses the kiwi fabric CLI. The same steps can be done in the Web UI or through the REST API.

1. Point the CLI at your server#

bash
kiwi fabric connect --url https://localhost:5000

connect saves the server URL (and an optional API key) for later commands. Replace the URL with the address of your instance.

2. Create the first admin user#

A new instance has no users. The one-time bootstrap command creates the first admin and prints an initial API key:

bash
kiwi fabric auth-setup --user admin --password "<choose-a-strong-password>"

Important

The raw API key is shown once. Store it somewhere safe immediately. auth-setup fails if any user already exists, so it can never be used to take over a configured instance.

Then sign in so later commands are authenticated:

bash
kiwi fabric login --user admin --password "<your-password>"

3. Register a data source#

bash
kiwi fabric source-add --name sales-pg --type Rdbms --subtype Postgres \
  --conn "<connection-string>" --username "<user>" --password "<password>"

--type is one of Rdbms, Rest, Soap, NoSql, File, Cloud or VectorDb. Credentials are encrypted at rest. See Register data sources.

Check what the source exposes:

bash
kiwi fabric source-schema --name sales-pg

4. Expose tables as capabilities#

A capability is a named table (or stored procedure) that the engine can address in SQL. The Web UI import wizard is the easiest way to register them; from the CLI use kiwi fabric cap-add --file <definition.json>. See Capabilities.

The Capabilities page listing registered tables with their data source, predicate support, projection and paging features, and write modes
Registered capabilities, with published and draft versions.

5. Run a query#

bash
kiwi fabric query --sql "SELECT * FROM customers WHERE city = @city" --param city=London --verbose

--verbose adds a per-source breakdown showing rows fetched and which predicates were pushed down. With two or more registered sources you can join across them in the same statement.

The Query Playground showing a SQL editor with a cross-source join on the left and 77 result rows on the right
The same query in the Web UI playground: SQL on the left, results on the right.

Next steps#

Expected result

  • An admin user and an API key exist
  • Your data source is registered and its tables are visible as capabilities
  • A SQL query returns rows from your data source