puls
is a CLI tool that allows you to run a local Pulsar instance with different configurations.
The motivation is to minimize the entry threshold for Pulsar novices and quickly try different Puslar features without spending much time.
brew tap tealtools/tap
brew install tealtools/tap/puls
TODO
- Clone the repository
git clone [email protected]:tealtools/puls.git && cd ./puls
- Install Rust or alternatively install Nix and run
make dev
at the repository root to enter dev shell with all pre-installed tools. - Rust
cargo install --path .
- Check the installation
puls --version
puls start
- Installed Docker >= 2.24.0
- Enough computing resources. For Docker Desktop, you can adjust available resources by following these instructions.
You can take the following numbers as a basis:
- A cluster with 1 broker and 1 bookie needs 1 CPU core and 1GB RAM.
- A cluster with 3 brokers and 3 bookies needs 1.5-2 CPU cores and 3GB RAM.
For example, you'll need about 3-4CPU cores and 6GB RAM for the following Pulsar instance with two clusters:
puls create --num-clusters 2 --num-bookies 3 --num-brokers 3 multi-cluster
- Minio S3 to demonstrate the Pulsar tiered storage feature
- Postgres to demonstrate Pulsar IO
- Dekaf UI as Pulsar management UI
- Monitoring stack - Prometheus, Grafana