GitHub - kurrent-io/KurrentDB-Client-Go: KurrentDB Go Client (original) (raw)
KurrentDB Go Client
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:
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:
To stop the services, you can run:
You can launch the tests as follows:
Alternatively, you can run the tests using the go test
command:
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 imagedocker.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.