{"id":19595911,"url":"https://github.com/innovativeinventor/nimbus","last_synced_at":"2025-04-23T08:05:40.987Z","repository":{"id":135192303,"uuid":"584822640","full_name":"InnovativeInventor/nimbus","owner":"InnovativeInventor","description":"[WIP] A virtual, networked filesystem with pragmatic and strong safety guarantees","archived":false,"fork":false,"pushed_at":"2023-04-13T17:05:21.000Z","size":167,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-23T08:05:32.251Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InnovativeInventor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-03T15:52:45.000Z","updated_at":"2025-03-13T18:56:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa4cd616-c6ab-4aa8-9dd5-8da0b531cd84","html_url":"https://github.com/InnovativeInventor/nimbus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnovativeInventor%2Fnimbus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnovativeInventor%2Fnimbus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnovativeInventor%2Fnimbus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InnovativeInventor%2Fnimbus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InnovativeInventor","download_url":"https://codeload.github.com/InnovativeInventor/nimbus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250395284,"owners_count":21423400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T08:49:27.372Z","updated_at":"2025-04-23T08:05:40.962Z","avatar_url":"https://github.com/InnovativeInventor.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"## The Nimbus Filesystem\nNimbus is a virtual, networked filesystem that provides *upfront* safety guarantees to a user, intended for personal use.\nIn particular, it provides a filesystem that will FAIL LOUDLY and prompt the user if the consistency of reads and writes cannot be guaranteed.\nThe user is thereby empowered to prevent conflicts before they occur.\n\nNimbus is implemented with FUSE and is currently a work-in-progress.\n\n## Modes of operation\nNimbus has two modes:\n- development mode\n- backup mode\n\n#### Development mode\nIn development mode, when a project is being read/written to, nimbus will attempt to acquire a lock on the project. \nDevelopment mode provides strong safety guarantees to the user. \nIntuitively, development mode enforces the notion that a user can only develop on one project/computer at a given moment. [^1]\nIf a lock *cannot* be acquired it will FAIL LOUDLY and prompt the user for action (this should happen rarely).\nIf a lock *can* be acquired, the user will not notice anything and everything will appear as normal.\nAs nimbus will FAIL LOUDLY and prompt iff a lock *cannot* be acquired, the user is guaranteed that all successful read and writes are occuring on the most up-to-date version of the project and is consistent.\n\nBy default, projects will only be cached/stored on disk if:\n- you are currently accessing the project\n- the project has been recently accessed (and there is sufficient space to store the project)\n- the project is pinned\n\n#### Backup mode\nIn backup mode, eventual consistency is guaranteed.\nAll operations are read-only.\nBy default, if there is space, all projects will be cached/stored on disk.\n\n## Architecture \nTODO: fill in here.\n\n[^1]: Until telepathy and human cloning is invented, this seems like a reasonable limitation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnovativeinventor%2Fnimbus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finnovativeinventor%2Fnimbus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnovativeinventor%2Fnimbus/lists"}