From a2bee4738eac5472d01903821b802e01154643a4 Mon Sep 17 00:00:00 2001 From: Diego Imbert <70353967+diegoimbert@users.noreply.github.com> Date: Tue, 20 Jan 2026 13:52:58 +0100 Subject: [PATCH] feat: DuckDB support write to Azure (#7618) * Fix DuckDB Azure write * separate file for azure logic * ee * ee repo ref * chore: update ee-repo-ref to 62cc5aaf46a4f825d9b0cf446924c07eeb95b8d5 This commit updates the EE repository reference after PR #379 was merged in windmill-ee-private. Previous ee-repo-ref: bec039939f73859535e9e8c94b3e876c1161836e New ee-repo-ref: 62cc5aaf46a4f825d9b0cf446924c07eeb95b8d5 Automated by sync-ee-ref workflow. --------- Co-authored-by: windmill-internal-app[bot] --- backend/ee-repo-ref.txt | 2 +- backend/windmill-api/src/apps.rs | 2 +- backend/windmill-api/src/azure_proxy_oss.rs | 6 ++++++ backend/windmill-api/src/job_helpers_oss.rs | 4 ++-- backend/windmill-api/src/lib.rs | 5 ++++- 5 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 backend/windmill-api/src/azure_proxy_oss.rs diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 130e307a08..6bfbf852e9 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -a4790328e8fb78256b6f746a8825ec6ec499c3a8 \ No newline at end of file +62cc5aaf46a4f825d9b0cf446924c07eeb95b8d5 diff --git a/backend/windmill-api/src/apps.rs b/backend/windmill-api/src/apps.rs index 083641681e..56f604f0e0 100644 --- a/backend/windmill-api/src/apps.rs +++ b/backend/windmill-api/src/apps.rs @@ -2359,7 +2359,7 @@ async fn upload_s3_file_from_app( ]) .into(); - upload_file_from_req(s3_client, &file_key, request, options).await?; + let _put_result = upload_file_from_req(s3_client, &file_key, request, options).await?; let delete_token = jwt::encode_with_internal_secret(S3DeleteTokenClaims { file_key: file_key.clone(), diff --git a/backend/windmill-api/src/azure_proxy_oss.rs b/backend/windmill-api/src/azure_proxy_oss.rs new file mode 100644 index 0000000000..b0af4c900a --- /dev/null +++ b/backend/windmill-api/src/azure_proxy_oss.rs @@ -0,0 +1,6 @@ +// OSS stub for Azure proxy functionality +// The actual implementation is in azure_proxy_ee.rs (Enterprise Edition) + +#[cfg(all(feature = "private", feature = "parquet"))] +#[allow(unused)] +pub use crate::azure_proxy_ee::*; diff --git a/backend/windmill-api/src/job_helpers_oss.rs b/backend/windmill-api/src/job_helpers_oss.rs index 8a67ada9ad..7147d8133b 100644 --- a/backend/windmill-api/src/job_helpers_oss.rs +++ b/backend/windmill-api/src/job_helpers_oss.rs @@ -12,7 +12,7 @@ use windmill_common::s3_helpers::StorageResourceType; #[cfg(all(feature = "parquet", not(feature = "private")))] use crate::db::{ApiAuthed, DB}; #[cfg(all(feature = "parquet", not(feature = "private")))] -use object_store::{ObjectStore, PutMultipartOpts}; +use object_store::{ObjectStore, PutMultipartOpts, PutResult}; #[cfg(all(feature = "parquet", not(feature = "private")))] use std::sync::Arc; #[cfg(not(feature = "private"))] @@ -85,7 +85,7 @@ pub async fn upload_file_from_req( _file_key: &str, _req: axum::extract::Request, _options: PutMultipartOpts, -) -> error::Result<()> { +) -> error::Result { Err(error::Error::internal_err( "Not implemented in Windmill's Open Source repository".to_string(), )) diff --git a/backend/windmill-api/src/lib.rs b/backend/windmill-api/src/lib.rs index 7eb5368ecf..89be41314b 100644 --- a/backend/windmill-api/src/lib.rs +++ b/backend/windmill-api/src/lib.rs @@ -78,6 +78,9 @@ pub mod args; mod assets; mod audit; pub mod auth; +#[cfg(all(feature = "private", feature = "parquet"))] +pub mod azure_proxy_ee; +mod azure_proxy_oss; mod bedrock; mod capture; mod concurrency_groups; @@ -148,8 +151,8 @@ pub mod scim_ee; mod scim_oss; mod scopes; mod scripts; -mod service_logs; mod secret_backend_ext; +mod service_logs; mod settings; mod slack_approvals; #[cfg(all(feature = "smtp", feature = "private"))]