Diego Imbert
|
8e780a7923
|
Merge remote-tracking branch 'origin/datatable-external-instance-4' into datatable-external-instance-ui
|
2026-09-17 18:25:57 +02:00 |
|
Diego Imbert
|
3fdb3047a7
|
Merge commit '5dfb2f30f74cedaae9f113383e42d3a35cde5189' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
# backend/windmill-common/src/datatable_roles.rs
|
2026-09-17 18:23:38 +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 Imbert
|
4a0d7c0c29
|
Merge commit 'd62807e9edc553b1eb08c10ce28521a71007a263' into HEAD
|
2026-09-17 18:04:22 +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
|
696b4ab5f8
|
Merge remote-tracking branch 'origin/datatable-external-instance-4' into datatable-external-instance-ui
|
2026-09-17 16:37:27 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
48f026eb0f
|
fix(datatables): refuse rolling back while external data tables are under roles, and type external_instance in the CLI
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:35:45 +02:00 |
|
Diego Imbert
|
0e659898f3
|
Merge commit 'a296ca016a' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 16:35:45 +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
|
947e44fe49
|
fix(settings): show the server's reason when saving instance settings fails
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:26:29 +02:00 |
|
Diego Imbert
|
489493dba2
|
Merge remote-tracking branch 'origin/datatable-external-instance-4' into datatable-external-instance-ui
|
2026-09-17 16:18:12 +02:00 |
|
Diego Imbert
|
c55ff3141c
|
Merge commit '5eec203099ba1034039f8b52e81400078cac919d' into HEAD
|
2026-09-17 16:17:18 +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
|
0b3882f2b2
|
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:02 +02:00 |
|
Diego Imbert
|
58731b1828
|
Merge commit '53d62dd399' into HEAD
# Conflicts:
# backend/ee-repo-ref.txt
|
2026-09-17 16:17:02 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
5624d350d5
|
feat(datatables): manage the external instance cluster's data table roles from the UI
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 16:09:25 +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 Imbert
|
cfada61f41
|
Merge remote-tracking branch 'origin/datatable-external-instance-4' into datatable-external-instance-ui
|
2026-09-17 16:00:06 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
0406f133c5
|
feat(datatables): per-cluster data table role catalogs, with roles on the external instance cluster
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 15:59:22 +02:00 |
|
 Diego ImbertandClaude Opus 5
|
aebae79397
|
feat(datatables): configure the external instance cluster and pick its databases from the UI
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-17 15:45:22 +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 |
|