https://github.com/rustfs/s3chaos
S3chaos: fault injection and recovery verification for s3-compatible object storage.
https://github.com/rustfs/s3chaos
Last synced: 15 days ago
JSON representation
S3chaos: fault injection and recovery verification for s3-compatible object storage.
- Host: GitHub
- URL: https://github.com/rustfs/s3chaos
- Owner: rustfs
- License: apache-2.0
- Created: 2026-06-28T09:14:52.000Z (29 days ago)
- Default Branch: main
- Last Pushed: 2026-06-28T11:03:28.000Z (29 days ago)
- Last Synced: 2026-06-28T13:05:47.458Z (29 days ago)
- Language: Rust
- Size: 119 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# s3chaos
S3Chaos is a fault-injection and recovery-verification framework for
S3-compatible object storage, starting with RustFS on Kubernetes.
It provides:
- A machine-readable fault scenario catalog.
- Kubernetes fixture ownership and cleanup guards.
- Chaos Mesh and host device-mapper fault backends.
- Mixed S3 workload generation, history capture, recommit, and post-recovery
verification.
- Run contracts, YAML suite orchestration, and event artifacts for audit and
visualization.
## Commands
```bash
make fault-check
make fault-list
make fault-preflight SCENARIO=io-eio
make fault-run SCENARIO=io-eio
make fault-suite-template
make fault-suite-validate SUITE=suite.yaml
make fault-suite-plan SUITE=suite.yaml
make fault-suite-run SUITE=suite.yaml
make fault-cleanup
```
Required runtime inputs for non-static scenarios:
```bash
export RUSTFS_FAULT_TEST_STORAGE_CLASS=
export RUSTFS_FAULT_TEST_SERVER_IMAGE='docker.io/rustfs/rustfs@sha256:'
```
`RUSTFS_FAULT_TEST_EXPECTED_CONTEXT` is optional. Set it to pin the run to an
expected dedicated Kubernetes or K3s context.
See [docs/FAULT_TESTING.md](docs/FAULT_TESTING.md) for cluster preparation,
scenario selection, dm-flakey setup, artifact contracts, and cleanup rules.