一键导入
quack
Manage Quack DuckDB query servers exposing DuckLake over a thin remote protocol — serve (foreground), start/stop/list/stop-all (background)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage Quack DuckDB query servers exposing DuckLake over a thin remote protocol — serve (foreground), start/stop/list/stop-all (background)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Manage GizmoSQL processes: start, stop, list, and stop-all DuckLake-backed SQL servers
Create or modify database connections in application.sl.yml
Automatically infer schemas and load data from the incoming directory
Data quality expectations syntax, built-in macros, and validation patterns
Apply Row Level Security (RLS) and Column Level Security (CLS) policies
Run SQL or Python transformation tasks
基于 SOC 职业分类
| name | quack |
| description | Manage Quack DuckDB query servers exposing DuckLake over a thin remote protocol — serve (foreground), start/stop/list/stop-all (background) |
Hosts a Quack DuckDB query server from the Starlake JVM. Quack lets a DuckDB instance expose its tables (typically backed by a DuckLake lakehouse) to remote clients without sharing object-storage credentials with those clients. The server owns DuckLake + S3 secrets; clients connect with a thin token and run ordinary SQL.
starlake quack <action> [options]
| Action | Description |
|---|---|
serve | Run a Quack server in the foreground (blocks until SIGTERM) |
start | Spawn a Quack server as a detached daemon, tracked under $SL_ROOT/.quack/ |
stop | Stop the server for a given connection |
list | List all running Quack servers |
stop-all | Stop every running Quack server |
action (required): serve, start, stop, list, or stop-all--connection <value>: Connection name (required for serve, start, stop)--bind <value>: Bind address (default 127.0.0.1; overrides quackBind connection option)--port <value>: Port (default 9494; overrides quackPort connection option)--token <value>: Server token (overrides quackServerToken connection option)--reportFormat <value>: console, json, or htmlReads/writes go through the server. The client connection has no DuckLake, no S3 secret.
version: 1
application:
connections:
warehouse-quack:
type: JDBC
options:
url: "jdbc:duckdb:"
driver: "org.duckdb.DuckDBDriver"
preActions: |
INSTALL quack; LOAD quack;
CREATE SECRET (TYPE quack, TOKEN '{{quackToken}}');
ATTACH 'quack:warehouse-host:9494' AS remote;
quote: "\""
Single Quack server, file-backed DuckLake catalog (good for dev and small deployments).
version: 1
application:
connections:
warehouse-server:
type: JDBC
options:
url: "jdbc:duckdb:"
driver: "org.duckdb.DuckDBDriver"
preActions: |
INSTALL ducklake; LOAD ducklake;
INSTALL quack; LOAD quack;
CREATE SECRET (TYPE s3,
KEY_ID '{{AWS_ACCESS_KEY_ID}}',
SECRET '{{AWS_SECRET_ACCESS_KEY}}',
REGION '{{AWS_REGION}}');
ATTACH 'ducklake:my_catalog.ducklake' AS lake (DATA_PATH 's3://{{S3_BUCKET}}/data/');
quackServerToken: "{{quackToken}}"
quackBind: "127.0.0.1"
quackPort: "9494"
quote: "\""
Shared, durable catalog stored in PostgreSQL. Use this when multiple Quack servers need to attach the same lakehouse. The Postgres connection fields (host, port, user, password, database) are interpolated inside the ATTACH 'ducklake:postgres:...' connection string — not as new top-level connection options.
version: 1
application:
connections:
warehouse-server-pg:
type: JDBC
options:
url: "jdbc:duckdb:"
driver: "org.duckdb.DuckDBDriver"
preActions: |
INSTALL POSTGRES; LOAD POSTGRES;
INSTALL ducklake; LOAD ducklake;
INSTALL quack; LOAD quack;
CREATE SECRET (TYPE s3,
KEY_ID '{{AWS_ACCESS_KEY_ID}}',
SECRET '{{AWS_SECRET_ACCESS_KEY}}',
REGION '{{AWS_REGION}}');
ATTACH 'ducklake:postgres:
dbname={{pgDatabase}}
host={{pgHost}}
port={{pgPort}}
user={{pgUser}}
password={{pgPassword}}' AS lake
(DATA_PATH 's3://{{S3_BUCKET}}/data/');
quackServerToken: "{{quackToken}}"
quackBind: "127.0.0.1"
quackPort: "9494"
quote: "\""
quack serve|start| Option | Description | Default |
|---|---|---|
quackServerToken | Required. Token clients must present. | (required) |
quackBind | Bind address | 127.0.0.1 |
quackPort | Port | 9494 |
preActions | SQL run before quack_serve (DuckLake attach, S3 / Postgres secrets, etc.) | (recommended) |
starlake quack serve --connection warehouse-server
starlake quack start --connection warehouse-server
starlake quack list
Output columns: connection, pid, bind, port, startedAt, log
starlake quack stop --connection warehouse-server
starlake quack stop-all
starlake transform --name my_job --connection warehouse-quack
127.0.0.1. To expose on the network, set quackBind: "0.0.0.0" and put a TLS-terminating reverse proxy (nginx, Caddy) in front. Quack does not provide TLS on its own.start (ps exposure). For stricter deployments, prefer serve under systemd/k8s with the token in an env-substituted YAML.