diff --git a/backend/windmill-worker/src/dbt_profiles.rs b/backend/windmill-worker/src/dbt_profiles.rs index f81aea2ae5..0b316231f7 100644 --- a/backend/windmill-worker/src/dbt_profiles.rs +++ b/backend/windmill-worker/src/dbt_profiles.rs @@ -122,7 +122,7 @@ impl KnownAdapter { "duckdb" => Some(KnownAdapter::Duckdb), "clickhouse" => Some(KnownAdapter::Clickhouse), "snowflake" | "snowflake_oauth" => Some(KnownAdapter::Snowflake), - "bigquery" | "gcp_service_account" => Some(KnownAdapter::Bigquery), + "bigquery" | "google_service_account" | "gcp_service_account" => Some(KnownAdapter::Bigquery), "databricks" => Some(KnownAdapter::Databricks), "salesforce" => Some(KnownAdapter::Salesforce), "ms_sql_server" | "mssql" | "sqlserver" | "fabric" => Some(KnownAdapter::Mssql), @@ -1098,6 +1098,10 @@ mod tests { KnownAdapter::from_resource_type("fabric"), Some(KnownAdapter::Mssql) ); + assert_eq!( + KnownAdapter::from_resource_type("google_service_account"), + Some(KnownAdapter::Bigquery) + ); } // `PartialEq` covers the carried name, so two spellings of one adapter must diff --git a/docs/dbt-runtime.md b/docs/dbt-runtime.md index 6f7dc5871e..137430c600 100644 --- a/docs/dbt-runtime.md +++ b/docs/dbt-runtime.md @@ -236,7 +236,7 @@ points at the object-storage resource and a DuckLake names its catalog. **What a warehouse may point at.** Either a Windmill connection resource whose type `render_profile` translates (`postgresql`, `redshift`, `mysql`, `snowflake`, -`snowflake_oauth`, `bigquery`, `gcp_service_account`, `databricks`), or a +`snowflake_oauth`, `bigquery`, `google_service_account`, `gcp_service_account`, `databricks`), or a **`dbt_profile`** resource, whose VALUE IS one entry of that file's `outputs` map — `type` included, nothing lifted out or renamed. A block is copied from a working `profiles.yml` and pasted in, which is the whole point: a type that asked diff --git a/frontend/src/lib/components/icons/BRAND_COLORS.md b/frontend/src/lib/components/icons/BRAND_COLORS.md index c15537b6e1..8c8d668195 100644 --- a/frontend/src/lib/components/icons/BRAND_COLORS.md +++ b/frontend/src/lib/components/icons/BRAND_COLORS.md @@ -152,7 +152,7 @@ repeatedly — check the brand's own page. | `GoogleCloudIcon` | `gcloud`, `gcp_service_account` | fixed | #EA4335 | #EA4335 | 3.80 | 7.30 | Google's own product logo asset https://www.gstatic.com/images/branding/product/2x/google_cloud_64dp.png | | `GoogleDriveIcon` | — | fixed | #B43333 | #B43333 | 5.87 | 10.05 | https://www.gstatic.com/images/branding/productlogos/drive_2026/v2/web/192px.svg (Drive 2026 mark, copied verbatim) | | `GoogleFormsIcon` | `gforms` | fixed | #969DFF | #969DFF | 5.99 | 12.47 | Google's own Forms product icon at www.gstatic.com/images/branding/productlogos/forms_2026/v2/web/192px.svg | -| `GoogleIcon` | `google`, `gworkspace` | mixed | #4285F4 | #4285F4 | 3.88 | 7.30 | the G mark Google serves in accounts.google.com/gsi/client | +| `GoogleIcon` | `google`, `gworkspace`, `google_service_account` | mixed | #4285F4 | #4285F4 | 3.88 | 7.30 | the G mark Google serves in accounts.google.com/gsi/client | | `GorgiasIcon` | `gorgias` | pair | #000000 | #FFF9F4 | 20.32 | 11.94 | gorgias.com/about-us/style, which ships the symbol as a "Dark"/"Light" pair | | `GraphqlIcon` | `graphql` | pair | #E10098 | #FFFFFF | 4.37 | 12.47 | graphql.org | | `GreipIcon` | `greip` | pair | #141C27 | #FFFFFF | 16.59 | 12.47 | docs.greip.io | diff --git a/frontend/src/lib/components/icons/index.ts b/frontend/src/lib/components/icons/index.ts index c8f4cd8f38..c5f01a684a 100644 --- a/frontend/src/lib/components/icons/index.ts +++ b/frontend/src/lib/components/icons/index.ts @@ -361,7 +361,8 @@ export const APP_TO_ICON_COMPONENT = { gsheets: GSheetsIcon, gitlab: GitlabIcon, // `gcloud` and `gcp_service_account` are both Google Cloud, so both resolve to the - // official four-colour mark. + // official four-colour mark. `google_service_account` also serves Workspace APIs, + // so it takes the G mark like `gworkspace`. gcloud: GoogleCloudIcon, gcal: GcalIcon, gdrive: GdriveIcon, @@ -460,6 +461,7 @@ export const APP_TO_ICON_COMPONENT = { ipinfo: IpinfoIcon, gworkspace: GoogleIcon, gcp_service_account: GoogleCloudIcon, + google_service_account: GoogleIcon, cacertificate: CaCertificate, currencyapi: CurrencyApiIcon, visma: VismaIcon, diff --git a/frontend/src/lib/components/workspaceSettings/DbtSettings.svelte b/frontend/src/lib/components/workspaceSettings/DbtSettings.svelte index c56ce514c5..b6de5faa95 100644 --- a/frontend/src/lib/components/workspaceSettings/DbtSettings.svelte +++ b/frontend/src/lib/components/workspaceSettings/DbtSettings.svelte @@ -21,6 +21,7 @@ 'snowflake', 'snowflake_oauth', 'bigquery', + 'google_service_account', 'gcp_service_account', 'databricks' ].join(',')