Skip to content

kurrent-io/KurrentDB-Client-Go

Repository files navigation

Kurrent

KurrentDB Go Client

PkgGoDev CI LTS Previous LTS

KurrentDB is a database that's engineered for modern software applications and event-driven architectures. Its event-native design simplifies data modeling and preserves data integrity while the integrated streaming engine solves distributed messaging challenges and ensures data consistency.

"KurrentDB Client Go" is the client for talking to KurrentDB.

The fastest way to add this client to a project is to run go get github.com/kurrent-io/KurrentDB-Client-Go@latest with go, See INSTALL.md for detailed installation instructions and troubleshooting.

Documentation

Communities

Join our global community of developers.

Contributing

Development is done on the main branch. We attempt to do our best to ensure that the history remains clean and to do so, we generally ask contributors to squash their commits into a set or single logical commit.

Building the client

The client is built using the Go programming language. To build the client, you need to have Go installed on your machine. You can download it from the official Go website. Once you have Go installed, you can build the client by running the following command in the root directory of the project:

make build

The build scripts: build.sh and build.ps1 are also available for Linux and Windows respectively to simplify the build process.

Running the tests

Testing requires Docker and Docker Compose to be installed.

Start all required KurrentDB services using the provided docker-compose configuration:

make start-kurrentdb

To stop the services, you can run:

make stop-kurrentdb

You can launch the tests as follows:

make test

Alternatively, you can run the tests using the go test command:

go test ./...

By default, the test suite uses the Docker image: docker.kurrent.io/eventstore/eventstoredb-ee:lts. To run the tests with a different image, set the environment variables listed below.

For example, to use the commercial image docker.kurrentio/eventstore-ee/eventstoredb-commercial:23.10.5-commercialb-bookworm-slim, configure your environment with:

Variable Name Example Value
EVENTSTORE_DOCKER_REGISTRY docker.kurrentio/eventstore-ee
EVENTSTORE_DOCKER_IMAGE eventstoredb-commercial
EVENTSTORE_DOCKER_TAG 23.10.5-commercialb-bookworm-slim

These variables combine to form the complete image reference used during testing.

More resources