Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ Goal: choose the right client method, understand the snapshot and consistency ru

The client adapter uses the AWS SDK for Rust. The same adapter talks to Amazon S3 and compatible services that pass SILO’s provider qualification probes. The repository format, upgrade rules, cache contract, and production support posture are defined in [`GA-CONTRACT.md`](GA-CONTRACT.md).

SILO uses [Prolly trees](https://github.com/crabbuild/prolly) for
content-addressed metadata and history. This guide focuses on the S3-backed
repository API around those trees.

## Choose an API by task

Use this table to find the shortest path to a common operation:
Expand Down
3 changes: 2 additions & 1 deletion CACHE-AND-SCALE-DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ branch ref
→ immutable payload
```

The journal-derived index is a Prolly tree of content ID to node-pack range.
The journal-derived index is a [Prolly tree](https://github.com/crabbuild/prolly)
of content ID to node-pack range.
Its small mutable head advances behind the publication journal. Normal point
lookups never list the repository namespace.

Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ All notable SILO changes will be recorded here.

## Unreleased

- Extracted the immutable S3 version-control ledger from the Prolly monorepo.
- Extracted the immutable S3 version-control ledger from the [Prolly
monorepo](https://github.com/crabbuild/prolly).
- Added standalone SILO workspace metadata, open-source CI, RustFS
qualification, security policy, and release scaffolding.
- Preserved the `prolly-s3` durable protocol namespace for existing buckets.
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Contributing to SILO

SILO is an open-source CrabBuild repository. Contributions are reviewed
through pull requests and must preserve the durable repository contract.
through pull requests and must preserve the durable repository contract. SILO
was extracted from the [Prolly repository](https://github.com/crabbuild/prolly).

## Before opening a pull request

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ branches, tags, listings, diffs, merges, recovery checkpoints, and garbage
collection while keeping user file bodies as complete immutable provider
objects.

SILO uses [Prolly](https://github.com/crabbuild/prolly) trees for
content-addressed metadata, snapshots, and history. This repository adds the
S3-backed repository layer and provider workflows around those trees.

> **Repository status:** SILO is open source under the MIT License. The
> repository is pre-1.0; tagged releases publish public GitHub release bundles,
> while crates.io publication remains a separately controlled release step.
Expand Down
3 changes: 2 additions & 1 deletion SILO-DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

SILO is a thin repository layer over a versioned S3 bucket. The client is
the authoritative writer. It stores each file as one immutable payload and uses
Prolly trees to track names, metadata, commits, branches, and history.
[Prolly trees](https://github.com/crabbuild/prolly) to track names, metadata,
commits, branches, and history.

There is one durable format and one public client. The implementation does not
dual-write, migrate, or negotiate legacy repository protocols.
Expand Down
4 changes: 2 additions & 2 deletions client/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# SILO client

The client turns a versioned S3 bucket into a branchable file repository.
Files remain ordinary whole S3 objects under immutable derived keys; Prolly
trees provide snapshots and history.
Files remain ordinary whole S3 objects under immutable derived keys; [Prolly
trees](https://github.com/crabbuild/prolly) provide snapshots and history.

## Requirements

Expand Down
3 changes: 2 additions & 1 deletion core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
The AWS-independent core of [SILO](https://github.com/crabuild/silo), an
immutable version-control ledger layered over S3-compatible object storage.

This crate owns the durable repository model, Prolly-tree state, commits,
This crate owns the durable repository model and [Prolly tree
state](https://github.com/crabbuild/prolly), commits,
branches, tags, journals, recovery, fsck, merge planning, and garbage
collection. The provider adapter lives in `silo-s3-client`.

Expand Down