Skip to content

Latest commit

 

History

History
130 lines (85 loc) · 2.17 KB

File metadata and controls

130 lines (85 loc) · 2.17 KB

Development Guide

Requirements

Toolchain Version
Rust ^1.88.0
just ^1.36.0
uv ^0.5.0
Docker -

Workflow

Get the source code

git clone https://github.com/Nugine/s3s.git
cd s3s

Run basic checks and tests

just dev

Run the codegen

just crawl
just codegen

It should change nothing if you are running the latest code.

Run semver checks

Check for API breaking changes:

just semver-checks

Note: This requires published crate versions on crates.io to compare against.

Open documentation

just doc

Play the test server

Install s3s-fs from source

cargo install --path crates/s3s-fs --features binary

You can also use the shortcut

just install s3s-fs

Or install from crates.io

cargo install s3s-fs --features binary

Run s3s-fs with example configuration

./scripts/s3s-fs.sh

Credentials used in the example configuration:

Access Key: AKEXAMPLES3S
Secret Key: SKEXAMPLES3S

Then you can explore it with your favorite S3 client!

Run E2E tests

Install s3s-proxy

just install s3s-proxy

Run the combined server and save logs

./scripts/s3s-proxy.sh | tee target/s3s-proxy.log

Open a new terminal, then run the test suite

./scripts/mint.sh | tee target/mint.log

Run Ceph s3-tests (E2E)

Install s3s-proxy

just install s3s-proxy

Run a minimal Ceph s3-tests run against s3s-proxy (backed by MinIO):

./scripts/e2e-s3tests.sh

This script has additional prerequisites:

  • Docker must be installed and a local Docker daemon running (used to start MinIO).
  • Network access is required on first run so the script can clone the ceph/s3-tests repository.

Git

Commit Message

We follow the Conventional Commits specification.