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:
- Under Create a key, enter a name that says where the key will be used, for example
Jupyter notebook,CI pipeline, orlocal dev. This makes keys easier to audit and revoke later. - Click Create.
- 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
| Client | Connection notes |
|---|---|
| DuckDB | Use the Iceberg extension — CREATE SECRET alloy_auth (TYPE iceberg, TOKEN '<key>'), then ATTACH '' AS alloy (TYPE iceberg, SECRET alloy_auth, ENDPOINT '<endpoint>') |
| Apache Spark | Configure the Iceberg REST catalog — point spark.sql.catalog.<name>.uri at the endpoint |
| Trino | Use the Iceberg connector with iceberg.catalog.type=rest |
| PyIceberg | pyiceberg.catalog.load_catalog(name, type="rest", uri=...) |
| Any Iceberg REST client | Most clients support OAuth-style bearer tokens — pass your API key as the Authorization: Bearer <key> header |
Quick test (DuckDB)
# install duckdb + iceberg extension
duckdbINSTALL 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.