apache / apache/opendal-yinyang

Tracking: OFS architecture directions

Open
#19 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
51
Forks
5
Avg merge
20h 58m
Merged PRs (30d)
7

Description

## Summary

Track the long-term architecture directions established by [RFC-0016](https://github.com/apache/opendal-ofs/pull/16).

This issue is a direction index, not an implementation checklist. Every concrete feature, migration, frontend, backend, or conformance change is tracked in an independent issue and linked back here under its primary architecture direction.

## Volume Model

### Direct

Keep the existing storage namespace authoritative. This direction prioritizes zero-migration access, interoperability with storage-native tools, and semantics that can be enforced without authoritative remote ofs metadata.

### Managed

Make ofs metadata authoritative for the filesystem namespace while storage holds immutable file data. This direction provides stable identity, transactional namespace semantics, coordinated multi-client behavior, and a foundation for filesystem-native features.

## Access Model

### Mount

Present an online remote filesystem through the best OS-supported frontend. The remote volume is authoritative, remote publication defines `fsync` success, and conflicts are returned through filesystem operations.

### Sync

Maintain a native local filesystem and reconcile it with a volume. Local durability, offline work, explicit remote synchronization, and user-visible conflict handling define this direction.

## Direction matrix

| | Mount | Sync |
| --- | --- | --- |
| Direct | Storage View over existing objects | Storage Replica of an object namespace |
| Managed | Remote Filesystem with authoritative metadata | Offline Filesystem with managed synchronization |

## Tracking policy

Concrete work belongs in independent issues and pull requests. Each issue should reference #19 and identify its primary Volume Model, Access Model, or quadrant. This issue is updated only for direction-level decisions and links to those independent issues.

Contributor guide

Open the contributing guide

Research direction

Start by reading RFC-0016 and the Volume Model, Access Model, and direction matrix in this issue. Review linked independent issues to see how concrete work is categorized. Done means updating this index only for direction-level decisions and linking issues that reference #19 with their primary direction.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.