Files
windmill/backend/migrations/20260820073246_gcp_trigger_application_default_credentials.down.sql
T
8e508ea01a feat: support application default credentials for gcp pub/sub triggers (#10778)
* feat: support application default credentials for gcp pub/sub triggers

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: address review findings on gcp application default credentials

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: address review nits on gcp application default credentials

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: key the gcp credential-mode permission off the loaded mode

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: gate enabling an ADC gcp trigger on workspace admin

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: lock the gcp trigger row while authorizing a mode change

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: skip admin-only gcp listing when the caller cannot use those credentials

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 54bf630681000c8ed87a7067e357118e015123b1

This commit updates the EE repository reference after PR #738 was merged in windmill-ee-private.

Previous ee-repo-ref: 91d0e228a0ad226625278b400c64f96a61404a10

New ee-repo-ref: 54bf630681000c8ed87a7067e357118e015123b1

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-08-21 10:41:14 +02:00

26 lines
1.2 KiB
SQL

-- Add down migration script here
DROP INDEX unique_subscription_per_gcp_resource;
DELETE FROM gcp_trigger WHERE gcp_resource_path IS NULL;
-- Rows that differed only by project_id, and rows whose subscription no longer fits the narrower
-- column, would both make the restored index or constraint fail after the column changes below.
DELETE FROM gcp_trigger WHERE char_length(subscription_id::text) > 255;
DELETE FROM gcp_trigger t USING gcp_trigger keep
WHERE t.ctid > keep.ctid
AND t.subscription_id = keep.subscription_id
AND t.gcp_resource_path = keep.gcp_resource_path
AND t.workspace_id = keep.workspace_id;
ALTER TABLE gcp_trigger DROP COLUMN project_id;
ALTER TABLE gcp_trigger ALTER COLUMN gcp_resource_path SET NOT NULL;
ALTER TABLE gcp_trigger DROP CONSTRAINT gcp_trigger_subscription_id_check;
ALTER TABLE gcp_trigger ALTER COLUMN subscription_id TYPE VARCHAR(255);
ALTER TABLE gcp_trigger ADD CONSTRAINT gcp_trigger_subscription_id_check
CHECK (char_length(subscription_id::text) >= 3 AND char_length(subscription_id::text) <= 255);
CREATE UNIQUE INDEX unique_subscription_per_gcp_resource
ON gcp_trigger (subscription_id, gcp_resource_path, workspace_id);