Skip to content

Commit 554e34b

Browse files
Add per-column selection to discovery wizard
1 parent 691bc9d commit 554e34b

13 files changed

Lines changed: 1026 additions & 88 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,26 @@ persistent volume for the SQLite database, and starts both services:
1414
| Admin UI + REST API | `:80` / `:443` | `:5435` | HTTP/S |
1515
| pgwire (PostgreSQL) | `:5432` (IPv6) | `:5434` | raw TCP |
1616

17-
After deploying, the Admin UI is available at `https://<app-name>.fly.dev`.
17+
After deploying:
1818

19-
### Set required secrets (after deploy)
19+
| Endpoint | URL / address |
20+
|----------|---------------|
21+
| Admin UI | `https://<app-name>.fly.dev` |
22+
| Admin REST API | `https://<app-name>.fly.dev/api/...` |
23+
| PostgreSQL proxy | `<app-name>.fly.dev:5432` |
24+
25+
**Order of operations matters** — follow these steps in sequence.
26+
27+
### 1. Create the app and volume (one-time)
28+
29+
```sh
30+
fly launch --no-deploy --copy-config --name <your-app-name>
31+
fly volumes create betweenrows_data --size 1 --region <region>
32+
```
33+
34+
### 2. Set secrets before first deploy
35+
36+
The app will crash-loop on startup without `BR_ADMIN_PASSWORD`. Set secrets **before** deploying:
2037

2138
```sh
2239
fly secrets set \
@@ -25,6 +42,25 @@ fly secrets set \
2542
BR_ADMIN_PASSWORD=<strong-password>
2643
```
2744

45+
### 3. Allocate IP addresses (one-time)
46+
47+
Without IP addresses the app is unreachable from most networks. Shared IPv4 is free:
48+
49+
```sh
50+
flyctl ips allocate-v4 --shared
51+
flyctl ips allocate-v6
52+
```
53+
54+
### 4. Make the GHCR package public
55+
56+
CI/CD deploys via `flyctl deploy --image ghcr.io/getbetweenrows/betweenrows:latest` require the package to be public. In GitHub: **Packages → betweenrows → Package settings → Change visibility → Public**.
57+
58+
### 5. Deploy
59+
60+
```sh
61+
fly deploy --image ghcr.io/getbetweenrows/betweenrows:latest --app <your-app-name>
62+
```
63+
2864
## Upgrading
2965

3066
Pull the latest image and redeploy:
@@ -47,6 +83,20 @@ The pgwire port is accessible for free via **IPv6** (most modern clients resolve
4783
psql "postgresql://admin:<password>@<app-name>.fly.dev:5432/<datasource-name>"
4884
```
4985

86+
**macOS: if the connection times out**, check whether IPv6 is configured:
87+
88+
```sh
89+
ifconfig | grep "inet6" | grep -v "::1" | grep -v "fe80"
90+
```
91+
92+
If that returns nothing, your machine has no routable IPv6 address. Re-enable it:
93+
94+
```sh
95+
sudo networksetup -setv6automatic Wi-Fi
96+
```
97+
98+
Then confirm it's working with `ping6 google.com` and retry the connection.
99+
50100
For **IPv4-only** environments (no IPv6 support), tunnel via WireGuard:
51101

52102
```sh
@@ -328,8 +378,8 @@ Before a data source is queryable via pgwire, a catalog must be saved. The UI wi
328378

329379
1. **Discover schemas** — submit `discover_schemas`, watch SSE, select which schemas to include
330380
2. **Discover tables** — submit `discover_tables` with selected schemas, select tables
331-
3. **Discover columns** — submit `discover_columns` with selected tables, review column types
332-
4. **Save** — submit `save_catalog` — persists selections to DB, invalidates engine cache
381+
3. **Discover columns** — submit `discover_columns` with selected tables; choose which columns to expose via a two-panel UI (scrollable table sidebar + column detail panel); unsupported Arrow types (e.g. JSONB, regclass) are shown greyed-out and cannot be selected
382+
4. **Save** — submit `save_catalog` — persists schema/table/column selections to DB, invalidates engine cache
333383

334384
To detect schema drift after upstream changes, submit `sync_catalog`. The result is stored in `data_source.last_sync_result` and shown in the UI as a green/blue/amber panel.
335385

0 commit comments

Comments
 (0)