Skip to content

Developer Guide

For engineers building against IOLake — as an S3 endpoint, as an Iceberg REST Catalog, as a Delta Sharing provider, or as a block storage target — and for contributors working on the source itself.

API & Wire Protocols

Product

  • Feature reference — how each feature works; every feature's status is in features.md. Everything is Apache-2.0; there are no tiers.
  • Management SDKs — Go and Python clients for the admin API.
  • Agent skills — teaching a coding agent (Claude Code, Codex, …) to deploy, run and build on IOLake.
  • S3 compatibility — ceph s3-tests runs.
  • Performance — IOLake next to RustFS and SeaweedFS, and what the numbers show.
  • Chaos — faults on a multi-host cluster: what is checked, the latest run, and what the runs found.

Contributing

CONTRIBUTING.md in the repository: how to propose a change, set up, test at the right level, and open a pull request. Security problems are reported privately (SECURITY.md).

Building from source

Workflows live in the source tree:

  • make build / make test / make lint / make fmt — local workflows (see the repo Makefile).
  • docker compose run --rm build — sandboxed builds without a local Rust toolchain.
  • cargo test --package iolake-erasure — run a single crate's tests (erasure coding is ISA-L's on every build).

CONTRIBUTING.md covers the conventions (formatting, clippy, errors, commits, which tests a change needs). For coding agents working in a checkout, CLAUDE.md is the map of the code, and two skills in .claude/skills/ walk the work: iolake-contribute (issue to merge) and iolake-testing.