refactor: extract object store into dedicated crate with filesystem backend (#7996)

* refactor: extract object store code into windmill-object-store crate with filesystem backend

Consolidate all object_store-dependent code from windmill-common into a new
windmill-object-store crate. Add a filesystem-backed object store implementation
using LocalFileSystem for dev/testing without cloud credentials. Includes 30
comprehensive tests covering render_endpoint, lfs_to_object_store_resource,
duckdb_connection_settings, error mapping, and filesystem-backed integration tests.

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

* all

* all

* all

* all

* fix: fix raw_app hardcoded path, add missing ObjectStoreResource import, and add tests

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

* refactor: move S3ModeFormat to windmill-types, make windmill-parser-sql optional, restore debug logs

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

* all

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ruben Fiszel
2026-02-18 13:20:01 +00:00
co-authored by Claude Opus 4.6
parent 05707188fe
commit a3b6fa4eb3
58 changed files with 1968 additions and 1189 deletions
+1
View File
@@ -16,6 +16,7 @@ cloud = ["windmill-common/cloud"]
[dependencies]
windmill-api-auth.workspace = true
windmill-common = { workspace = true, default-features = false }
windmill-types.workspace = true
windmill-trigger.workspace = true
windmill-audit.workspace = true
windmill-git-sync.workspace = true
+1 -1
View File
@@ -7,11 +7,11 @@ use tokio::sync::{RwLock, RwLockReadGuard};
use windmill_common::{
error::{Error, Result},
flows::Retry,
s3_helpers::S3Object,
utils::ExpiringCacheEntry,
worker::CLOUD_HOSTED,
DB,
};
use windmill_types::s3::S3Object;
use windmill_api_auth::ApiAuthed;
use windmill_trigger::TriggerMode;