Skip to main content

Buz Core

The following is a guide to quickly getting up and running with Buz for local development.

Prerequisites

Will need

You will need these:

  1. go 1.19
  2. docker
  3. docker compose
Nice-to-have

And these (at minimum) will make your life better:

  1. psql
  2. rpk
  3. mysql shell
  4. mongosh
  5. clickhouse

Clone the repo

git clone git@github.com:silverton-io/buz.git

Bootstrap

After cding into the buz directory you just cloned, run:

make bootstrap

You should now have a local config.yml file and see console output like the following:

...
[GIN-debug] GET /sqwk/sp --> github.com/silverton-io/buz/pkg/handler.SquawkboxHandler.func1 (4 handlers)
...
{"message":"🐝🐝🐝 buz is running! 🐝🐝🐝"}

Bootstrap destinations

Heads up

There's a slim chance you will need all of these. It is simply a matter of convenience.

To fire up a bunch of destination containers via docker-compose run:

make bootstrap-destinations

Tests

To run go test and open up a browser-based coverage report run:

make test-cover-pkg

General Help

To view all make options run:

make help

You should see something like the following:

$ make help

Usage:
make
run Run buz locally
bootstrap Bootstrap development environment
bootstrap-destinations Bootstrap various containerized database/stream systems
build-docker Build local buz image
buildx-deploy Build multi-platform buz image and push it to edge repo
lint Lint go code
test Run tests against pkg
test-cover-pkg Run tests against pkg, output test profile, and open profile in browser
help Display makefile help

Where to go next