Skip to content

Peregrine

A Rust-first OpenStack Swift rewrite with scoped compatibility evidence, deployment tooling, load generation, and a web console.

Peregrine is a Rust-first object-storage engineering platform built around a ground-up Rust rewrite of OpenStack Swift. It targets byte compatibility on implemented, explicitly tested paths. It is an advanced lab system, not a feature-complete Swift twin or a production drop-in replacement.

The components

swift-rust

The storage engine — proxy, object, container and account servers, every consistency daemon, erasure coding, the ring, the SQLite backends, and the middleware pipeline plus the bounded concurrency runtime. A 16-crate Rust workspace. Read more →

swift-deploy-rs

A bounded, Python-free deployer that executes the upstream Swift Ansible v3 plan natively — no Ansible — with sealed, re-verified plans and per-action authorization. Read more →

cosbench-rs

A Rust rewrite of Intel’s COSBench core: an S3/Swift load generator with prepare / main / cleanup workloads and JSON/CSV reports. Read more →

autocos

Benchmark automation over cosbench-rs — submit workloads, track progress, collect and archive results. Read more →

swift-console

The web console: a files browser, deploy control, live monitoring, and a chaos / HA lab, served from a single Rust binary. Read more →

Where to go next

Get started

Build the engine and stand up a single-host cluster in one command. Get started →

Architecture

How the data, control, and test planes fit together. Architecture →

Current status

Exact candidate provenance, G0-G8 truth, and the production boundary. Read status →

Concurrency runtime

Async network serving, bounded blocking domains, cancellation, and route proof. Concurrency →

Swift API guide

Native REST semantics, streaming, middleware, and evidence boundaries. Swift API →

S3 API reference

The implemented S3 surface — auth, buckets, objects, MPU, errors, and the Rust-ahead extras. S3 API →

Dual-oracle verification

The strict 57-case harness, the GREEN contract, and the historical 49/8 scoreboard. Dual-oracle →

Testing & verification

Golden fixtures, functional parity, load, and live HA drills. Testing →

Lab cluster

Four-node Contabo HA topology, EC build rules, and cutover. Lab cluster →

Operating it

Configuration

Fail-closed config semantics, the worker model, and every honored knob. Configuration →

Runbooks

The slim rolling upgrade, drain hygiene, rollback, and post-change gates. Runbooks →

Releases & live binaries

Which binary generation is live, and the git branch discipline. Releases →

Incidents & freezes

What broke, what is frozen, and the standing hard boundaries. Incidents →

Status

Source 17adf0b… includes the Hyper/Tokio async serve path and substantial Swift, S3, EC, sharding, and daemon work. The strict W070 frozen-179 ledger is GREEN: W068 contributes 147 replication identities and W069 contributes 32 EC identities exactly once, with zero unexpected result. Overall acceptance remains NO-GO because G3/current-suite acceptance, G7, and G8 are not all closed; no candidate has been promoted to production.

Read Current status before any historical performance, fleet, or compatibility page. The strict parity matrix defines the implemented boundary; this documentation does not claim full Swift compatibility or production readiness.

Licensed Apache-2.0, matching upstream OpenStack Swift.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close