 Diego ImbertandClaude Opus 5
|
e1cb58ebbd
|
fix(datatables): keep DuckDB root certificate files in the job directory
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-18 14:03:53 +02:00 |
|
Diego Imbert
|
85ceb4d4a8
|
Merge commit 'fc29b54ae688f08719d1f4e5078aa80b33fce9a2' into HEAD
|
2026-09-18 13:59:01 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
fc29b54ae6
|
fix(datatables): check the external cluster setting on its own transaction, and gate the registry probe
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-18 13:58:58 +02:00 |
|
Diego Imbert
|
2661dadba6
|
Merge commit '8c554ef1337aa6cd99ab869443dfd30becc65a36' into HEAD
|
2026-09-18 01:00:09 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
8c554ef133
|
fix(datatables): take the fork data table lock once, before the external cluster's
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-18 01:00:06 +02:00 |
|
Diego Imbert
|
cdd681c029
|
Merge commit '154bade187169ec5c403d300a160556b768a0ead' into HEAD
|
2026-09-18 00:58:35 +02:00 |
|
Diego Imbert
|
154bade187
|
Merge remote-tracking branch 'origin/fork-database-authorization' into HEAD
|
2026-09-18 00:58:33 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
e550374f06
|
fix(datatables): migrate fork reservations on workspace rename, and lock the parent's data tables for the whole fork
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-18 00:58:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
57211d6c95
|
fix(datatables): keep only the most recently used DuckDB root certificate files
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-18 00:55:35 +02:00 |
|
Diego Imbert
|
0dbf5eef74
|
Merge commit 'addd77eaf4' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-18 00:55:35 +02:00 |
|
Diego Imbert
|
7f5628e775
|
Merge commit 'eab084b36fe14ecee3ecc9a78fb079760de133b9' into HEAD
# Conflicts:
# backend/windmill-common/src/lib.rs
|
2026-09-17 18:43:49 +02:00 |
|
Diego Imbert
|
eab084b36f
|
Merge remote-tracking branch 'origin/fork-database-authorization' into HEAD
|
2026-09-17 18:41:27 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
4cba79b7f0
|
fix(datatables): authenticate instance database setup before writing its status, and keep a fork reservation across it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 18:41:11 +02:00 |
|
Diego Imbert
|
5dfb2f30f7
|
Merge commit '76a10f8ee8' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
# backend/windmill-common/src/lib.rs
|
2026-09-17 18:22:16 +02:00 |
|
Diego Imbert
|
76a10f8ee8
|
Merge commit 'c9e2246e1c2480135884c9b3dcace11da0907dba' into HEAD
# Conflicts:
# backend/windmill-api-workspaces/src/workspaces.rs
# backend/windmill-api-workspaces/src/workspaces_extra.rs
|
2026-09-17 18:21:18 +02:00 |
|
Diego Imbert
|
c9e2246e1c
|
Merge remote-tracking branch 'origin/fork-database-authorization' into HEAD
|
2026-09-17 18:17:06 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
b68768084e
|
fix(datatables): bind fork database copies to their workspace, and count every use before dropping one
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 18:16:48 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
d62807e9ed
|
fix(datatables): stop counting storage-only fork cleanup rows as uses of an external database
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 18:04:19 +02:00 |
|
Diego Imbert
|
a296ca016a
|
Merge commit '7c16d482fd' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 16:34:50 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
7c16d482fd
|
fix(datatables): refuse fork cleanup of an external database another workspace uses
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:34:14 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
5eec203099
|
fix(datatables): keep certificate verification when DuckDB attaches an external data table
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:17:15 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
53d62dd399
|
fix(datatables): register external fork catalogs under the lifecycle lock, and keep certificate verification in DuckDB attaches
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:07:40 +02:00 |
|
Diego Imbert
|
e17b76c255
|
Merge commit '5ddaee5b78' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 16:07:40 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
5ddaee5b78
|
fix(datatables): write the external cluster setting under the lifecycle lock, and check fork targets are registered
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:04:18 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
b62d8b246a
|
fix(datatables): protect external databases pending fork cleanup, and describe Ducklake usage in the API
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 15:30:25 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
3981b2eb1b
|
fix(datatables): refuse repointing the external cluster while it is in use, and keep verify-ca working for pg_dump
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 15:28:31 +02:00 |
|
Diego Imbert
|
5bc2f13565
|
Merge commit '3981b2eb1b3bf77cdc1a5cbf43090e6b9706aa1f' into datatable-external-instance-3
|
2026-09-17 15:28:31 +02:00 |
|
Diego Imbert
|
a928253af0
|
Merge remote-tracking branch 'origin/datatable-roles-redesign-part-2' into datatable-roles-redesign-part-4
# Conflicts:
# backend/windmill-common/src/workspaces.rs
|
2026-09-17 15:22:45 +02:00 |
|
Diego Imbert
|
5d8f031cf6
|
Merge branch 'datatable-roles-redesign' into datatable-roles-redesign-part-2
|
2026-09-17 15:22:26 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
8a7f364cfe
|
fix(datatables): hold the parent's settings while a fork points at its data tables
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 13:29:35 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
ee176e24d5
|
perf(datatables): resolve a workspace's data tables per pointer hop, not per entry
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 13:04:26 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
4bdc5a9e20
|
fix(datatables): drop a DuckDB data table secret once its ATTACH has used it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 12:17:30 +02:00 |
|
Diego Imbert
|
0c53990d18
|
Merge commit '9b0046d8671697e6f6568c89170052367139d157' into datatable-external-instance-3
# Conflicts:
# backend/ee-repo-ref.txt
# backend/windmill-common/src/external_instance_pg.rs
|
2026-09-17 11:50:21 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
9b0046d867
|
docs(datatables): state the authorization contract of external database usage lookups
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 11:50:10 +02:00 |
|
Diego Imbert
|
1f78ce77f5
|
Merge commit 'dbe0230f483bbe10aeca055c4d39506fea41459d' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 11:50:00 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
dbe0230f48
|
fix(datatables): never grant CREATEROLE to custom_instance_user on the external cluster
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 11:49:20 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
67f488c676
|
feat(datatables): Ducklake catalogs on the external instance cluster
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 11:47:25 +02:00 |
|
Diego Imbert
|
ced4913b33
|
Merge commit 'b3a3f1cf5a0e6f97af2679c8abf640c6b832d7db' into datatable-external-instance-2
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 11:34:32 +02:00 |
|
Diego Imbert
|
b3a3f1cf5a
|
Merge remote-tracking branch 'origin/datatable-roles-redesign-part-4' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 11:34:28 +02:00 |
|
Diego Imbert
|
92e51f19aa
|
Merge remote-tracking branch 'origin/datatable-roles-redesign-part-2' into datatable-roles-redesign-part-4
# Conflicts:
# backend/ee-repo-ref.txt
# backend/windmill-api-integration-tests/tests/datatable_roles.rs
# backend/windmill-api-workspaces/src/datatable_permissions_oss.rs
# backend/windmill-api-workspaces/src/workspaces.rs
# backend/windmill-common/src/datatable_roles_oss.rs
# backend/windmill-common/src/workspaces.rs
# frontend/src/lib/components/datatableAcl/PgAclEditor.svelte
# frontend/src/lib/components/workspaceSettings/DataTablePermissionsButton.svelte
# frontend/src/lib/components/workspaceSettings/DataTableRolesSection.svelte
# frontend/src/lib/components/workspaceSettings/DataTableSettings.svelte
# frontend/src/lib/components/workspaceSettings/InstanceRolesButton.svelte
|
2026-09-17 10:03:05 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
36532c35d8
|
fix: check ACL read reach against the entry it connects from
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
79481a2f02
|
fix: build the ACL connection from the authorized data table entry
Resolving the settings again could land on a resource with the same
database name on another server, which the later entry checks never see.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
c884597e56
|
fix: hold the ACL connection to the database that was authorized
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
115448d3d1
|
fix: run one data table ACL apply at a time per server before it connects
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
1ece278fd2
|
fix: add only missing grant options before an ACL apply, never default privileges
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
7819d48df9
|
fix: refresh grant options only after the ACL apply validates its plan
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
ce1f720d85
|
fix: take every pooled connection before the ACL apply locks
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BRoYE5ZeAVvrDYdfhDAYXb
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
93d346e54b
|
feat(datatables): add an ACL editor for data table roles
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 10:01:19 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
9378828472
|
docs(datatables): note that legacy names with ? cannot be migrated
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 10:01:15 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
79bb761c5d
|
fix(datatables): serialize roles going on with aliases saved from other workspaces
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 10:01:15 +02:00 |
|