Explore

Mesh Storage

Connect external tools

Generate an API key and point DuckDB, Spark, Trino, or PyIceberg at your data lake

Mesh Storage exposes your data lake as an Iceberg REST Catalog. Any client that speaks Iceberg REST can query it directly — no copy step, no exports, no separate database.

This is how you connect notebooks, BI dashboards, CI pipelines, and external compute to your Alloy data.

Generate an API key

On the Mesh Storage → Data page, click API keys.

In the Mesh Storage API keys modal:

  1. Under Create a key, enter a name that says where the key will be used, for example Jupyter notebook, CI pipeline, or local dev. This makes keys easier to audit and revoke later.
  2. Click Create.
  3. Under Copy your new key now, click Copy.

Copy this key now — it won't be shown again. If you lose it, generate a new one.

Get the catalog endpoint

After you create a key, the same modal shows the Catalog endpoint. This is the Iceberg REST catalog URL. Copy it. You'll point your client at this URL.

The endpoint serves the standard Iceberg REST API. It works with any compatible client.

Compatible clients

ClientConnection notes
DuckDBUse the Iceberg extension — CREATE SECRET alloy_auth (TYPE iceberg, TOKEN '<key>'), then ATTACH '' AS alloy (TYPE iceberg, SECRET alloy_auth, ENDPOINT '<endpoint>')
Apache SparkConfigure the Iceberg REST catalog — point spark.sql.catalog.<name>.uri at the endpoint
TrinoUse the Iceberg connector with iceberg.catalog.type=rest
PyIcebergpyiceberg.catalog.load_catalog(name, type="rest", uri=...)
Any Iceberg REST clientMost clients support OAuth-style bearer tokens — pass your API key as the Authorization: Bearer <key> header

Quick test (DuckDB)

# install duckdb + iceberg extension
duckdb
INSTALL iceberg;
LOAD iceberg;

CREATE SECRET alloy_auth (TYPE iceberg, TOKEN '<your-api-key>');

ATTACH '' AS alloy (
  TYPE iceberg,
  SECRET alloy_auth,
  ENDPOINT 'https://<your-gateway-url>'
);

SHOW ALL TABLES;
SELECT count(*) FROM alloy.fleet.<some_table>;

List available tables

After connecting, run SHOW ALL TABLES; to list the available namespaces, tables, and columns in your Alloy catalog.

SHOW ALL TABLES;

Connect via MCP (for AI agents)

To connect an AI agent or assistant to your data, use the Alloy MCP server instead of a raw API key. See MCP.

Revoking a key

Open the API keys modal and find the key under Existing keys. Click its delete icon, then click Delete key to confirm. The key stops working immediately. Any clients still using it will start receiving auth errors on their next request.

On this page