whatisgithub

What is quacklake?

tobilg/quacklake — explained in plain English

Analysis updated 2026-05-18

37TypeScriptAudience · developerComplexity · 4/5Setup · moderate

In one sentence

A Cloudflare Workers service that acts as a DuckLake data catalog, letting DuckDB clients query metadata over an experimental protocol without running a traditional server.

Mindmap

mindmap
  root((quacklake))
    What it does
      DuckLake data catalog
      Speaks Quack protocol
    Storage
      Durable Objects SQLite
      Cloudflare R2 data
    Security
      JWT authentication
      OIDC providers
      Per-catalog policies
    Tech stack
      TypeScript
      Cloudflare Workers
      DuckDB
      SQLite
    Audience
      Backend developers
      Data engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a lightweight DuckLake catalog on Cloudflare without managing a traditional database server.

USE CASE 2

Authenticate DuckDB clients with JWTs and enforce per-catalog SQL authorization policies.

USE CASE 3

Connect an external identity provider like Cognito or Microsoft Entra ID for catalog access control.

USE CASE 4

Experiment with or integrate against DuckDB's experimental Quack protocol.

What is it built with?

TypeScriptCloudflare WorkersDuckDBSQLite

How does it compare?

tobilg/quacklakehotakus/opencode-visual-cacheimgoodbai/mapgogogo
Stars373737
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity4/52/53/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires a Cloudflare account with Workers and Durable Objects, and is described in the README as an alpha implementation, not a full DuckDB server.

So what is it?

Quacklake is a TypeScript service that runs on Cloudflare's serverless infrastructure and acts as a gateway for a database tool called DuckDB. DuckDB has an experimental network protocol called Quack that lets clients connect to it over HTTP, and quacklake implements that protocol so clients can query data stored on Cloudflare's platform. The service stores metadata about data catalogs using Cloudflare Durable Objects, which are small databases tied to a specific Cloudflare location. When a user connects, they provide a security token (a JWT) that the service verifies before granting access to a catalog. Catalog owners can define authorization policies that control exactly which SQL queries a given user can run or which data they can read. On the storage side, quacklake is designed to work with DuckLake, a file-based data catalog format. Actual data files live in Cloudflare R2, which is an object storage service similar to Amazon S3. The service manages file inventory and can grant clients temporary access to read those files directly, without routing all data through the Worker itself. Because quacklake runs on Cloudflare's edge network rather than a traditional server, there is no persistent process to manage or scale. The README is explicit that this is an alpha project suited for protocol integration work and smoke testing, not production data workloads. DuckDB's full SQL behavior and complete DuckLake compliance are not yet implemented. The intended audience is developers who want to expose DuckDB-accessible data through Cloudflare's infrastructure with access control, or who are building tooling on top of the Quack protocol. The repository includes detailed guides for authentication setup, local development, and integration with identity providers like AWS Cognito and Microsoft Entra ID.

Copy-paste prompts

Prompt 1
Walk me through deploying tobilg/quacklake with one R2 bucket and first-party JWT auth using the getting-started guide.
Prompt 2
Explain how the CatalogRegistry and QuackCatalogObject Durable Objects work together in quacklake.
Prompt 3
Show me how to set up Cognito as an OIDC provider for quacklake using the setup-cognito.sh script.
Prompt 4
Summarize what quacklake does and does not implement compared to full DuckDB SQL semantics.

Frequently asked questions

What is quacklake?

A Cloudflare Workers service that acts as a DuckLake data catalog, letting DuckDB clients query metadata over an experimental protocol without running a traditional server.

What language is quacklake written in?

Mainly TypeScript. The stack also includes TypeScript, Cloudflare Workers, DuckDB.

How hard is quacklake to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is quacklake for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.