Setup that is not optional once you care about the sealed log.

A single broker will listen and form a group with no other services. The sealed log will not exist until it has a bucket. The pages below are the pieces that require their own setup.

Bucket

MinIO stands in for R2 on a laptop. Community images are no longer published, so this repo builds one. The broker's default endpoint, bucket, and keys match that compose file. A container cannot use 127.0.0.1 to reach MinIO on the host. Bucket has the commands and the environment variables.

Three brokers

The brokers profile starts MinIO and three processes, then posts /admin/init so they form a group. Those services do not open a Kafka port. Three brokers explains what you get, and how to add a listener if a client should connect.

SASL

Plaintext is for loopback and for the Docker image. A certificate turns the listener into SASL_SSL. The mechanism is PLAIN. SASL lists the flags and the two requests that are allowed before the handshake.

Tests

cargo test --workspace does not need a bucket. Tests that rewrite sealed objects skip unless CAMUS_MINIO=1. Tests also covers the three-process cluster test and what GitHub Actions publishes.