DuckDB WireGuard Extension to Quack & Ducklake over Tailscale/Headscale
Installing and Loading
INSTALL quackscale FROM community;
LOAD quackscale;
Example
-- Quack Service on Tailnet
LOAD quack;
LOAD quackscale;
CALL tailscale_up(
hostname => 'my-duckdb-node',
state_dir => '~/.local/share/duckdb/quackscale'
);
CALL quack_serve('quack:127.0.0.1:9494', allow_other_hostname => true, token => quack_token());
CALL tailscale_serve_local(port => 9494);
FROM quack_discover();
-- Quack Client on Tailnet
LOAD quack;
LOAD quackscale;
CALL tailscale_up(hostname => 'my-client', state_dir => '~/.local/share/duckdb/quackscale-client');
CREATE SECRET (TYPE quack, TOKEN 'your-shared-token', SCOPE 'quack:100.x.x.x:9494');
ATTACH 'quack:100.x.x.x:9494' AS remote (TYPE quack, DISABLE_SSL true);
FROM remote.query('SELECT 42');
DETACH remote;
CALL tailscale_down(); -- a one-shot client must close tsnet, or the process hangs
Added Functions
This extension does not add any functions.
Overloaded Functions
This extension does not add any function overloads.
Added Types
This extension does not add any types.
Added Settings
This extension does not add any settings.