flytekit
flytekit copied to clipboard
Apply obstore as storage backend
Tracking issue
Related to flyteorg/flyte#4081
Why are the changes needed?
Use a Rust/Pyo3 package - obstore - as the storage backend for cloud storages. This provides the smaller dependencies size and enable users to use their own s3fs, gsfs, abfs, ... version.
What changes were proposed in this pull request?
Use obstore as the storage backend to replace s3fs, gsfs, and abfs.
How was this patch tested?
Setup process
Screenshots
Performance
- put file to minio
Check all the applicable boxes
- [ ] I updated the documentation accordingly.
- [ ] All new and existing tests passed.
- [ ] All commits are signed-off.
Related PRs
Docs link
Summary by Bito
This PR implements obstore as the new storage backend for Flytekit, replacing existing implementations for S3, GCS, and Azure (s3fs, gsfs, and abfs). The changes streamline protocol handling, optimize configuration, refine Azure storage logic, and enhance import practices while improving storage option handling and reducing dependency footprint. Significant updates to core storage components and comprehensive test coverage ensure compatibility with the new implementation.Unit tests added: True
Estimated effort to review (1-5, lower is better): 5