MCPcopy Index your code
hub / github.com/deuxfleurs-org/garage

github.com/deuxfleurs-org/garage @v2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.3.0 ↗ · + Follow
3,698 symbols 13,210 edges 225 files 382 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Garage status-badge

<a href="https://garagehq.deuxfleurs.fr">
<img alt="Garage logo" src="https://garagehq.deuxfleurs.fr/img/logo.svg" height="200" />
</a>







[ <strong><a href="https://garagehq.deuxfleurs.fr/">Website and documentation</a></strong>
| <a href="https://garagehq.deuxfleurs.fr/_releases.html">Binary releases</a>
| <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage">Git repository</a>
| <a href="https://matrix.to/#/%23garage:deuxfleurs.fr">Matrix channel</a>
]

Garage is an S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.

Garage is designed for storage clusters composed of nodes running at different physical locations, in order to easily provide a storage service that replicates data at these different locations and stays available even when some servers are unreachable. Garage also focuses on being lightweight, easy to operate, and highly resilient to machine failures.

Garage is built by Deuxfleurs, an experimental small-scale self hosted service provider, which has been using it in production since its first release in 2020.

Learn more on our dedicated documentation pages:

Garage is entirely free software released under the terms of the AGPLv3.

Extension points exported contracts — how you extend this code

Entry (Interface)
Trait for an entry in a table. It must be sortable and partitionnable. [10 implementers]
src/table/schema.rs
EndpointHandler (Interface)
This trait should be implemented by an object of your application that can handle a message of type `M`, in the cases wh [10 …
src/net/endpoint.rs
Migrate (Interface)
Indicates that this type has an encoding that can be migrated from a previous version upon upgrades of Garage. [13 implementers]
src/util/migrate.rs
RequestHandler (Interface)
(no doc) [50 implementers]
src/api/admin/lib.rs
CountedItem (Interface)
(no doc) [3 implementers]
src/model/index_counter.rs
IDb (Interface)
(no doc) [3 implementers]
src/db/lib.rs
Edge (Interface)
(no doc) [2 implementers]
src/rpc/layout/graph_algo.rs
CommandExt (Interface)
(no doc) [1 implementers]
src/garage/tests/common/ext/process.rs

Core symbols most depended-on inside this repo

n
called by 1051
doc/api/redoc.standalone.js
push
called by 623
src/net/send.rs
map
called by 574
src/util/crdt/lww.rs
clone
called by 546
src/net/message.rs
iter
called by 431
src/db/lib.rs
replace
called by 353
doc/api/redoc.standalone.js
call
called by 338
src/net/client.rs
get
called by 279
src/db/lib.rs

Shape

Method 1,704
Function 1,152
Class 697
Enum 106
Interface 39

Languages

Rust64%
TypeScript36%
Python1%

Modules by API surface

doc/api/redoc.standalone.js1,325 symbols
src/api/admin/api.rs139 symbols
src/api/admin/openapi.rs55 symbols
src/garage/cli/structs.rs43 symbols
src/k2v-client/lib.rs40 symbols
src/api/s3/xml.rs39 symbols
src/api/s3/list.rs38 symbols
src/rpc/system.rs36 symbols
src/model/s3/object_table.rs36 symbols
src/db/lib.rs36 symbols
src/block/manager.rs36 symbols
src/db/sqlite_adapter.rs32 symbols

For agents

$ claude mcp add garage \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact