Commit c6097cf
committed
feat: add OpenDAL-backed GooseFS object store support
Add `goosefs://` scheme support to `vortex-cloud`, bridging Tencent Cloud
GooseFS through OpenDAL's `services::GooseFs` via `object_store_opendal`.
Rust changes:
- `vortex-cloud`: new `goosefs` Cargo feature and `opendal::goosefs` module
with `GoosefsConfig`, `make_goosefs_store`, and URL-to-config translation
(master_addr from properties -> URL authority -> GOOSEFS_MASTER_ADDR env)
- `vortex-cloud/src/registry`: extend OpenDAL cfg gates to include `goosefs`
- 7 unit tests covering missing master_addr, URL authority, env fallback,
property override, HA mode, and explicit config construction
Python bindings:
- `vortex-python`: new `GoosefsStore` pyclass with keyword-only options
(root, block_size, chunk_size, write_type, auth_type, auth_username)
- `AnyVortexStore` accepts `GoosefsStore` in `read_url` / `write`
- Python store module `vortex.store._goosefs` with graceful ImportError
fallback when the `opendal` feature is not enabled
- Type stub (`.pyi`) for `GoosefsStore` constructor
Dependency note: goosefs-sdk v0.1.8 is pulled transitively via
opendal-service-goosefs v0.57.0; no direct workspace dependency added.
Signed-off-by: XuQianJin-Stars <forwardxu1211@gmail.com>1 parent 08c336f commit c6097cf
11 files changed
Lines changed: 603 additions & 28 deletions
File tree
- vortex-cloud
- src
- opendal
- registry
- vortex-python
- python/vortex
- _lib
- store
- src
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
55 | 62 | | |
56 | | - | |
| 63 | + | |
57 | 64 | | |
58 | 65 | | |
59 | 66 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
0 commit comments