Skip to content

Rebrand from EventStore to Kurrent #828

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Apr 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @EventStore/documentation
* @kurrent-io/documentation
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Contributing to Event Store Documentation
# Contributing to Kurrent Documentation

## Working with the Git

Event Store Documentation uses `master` as the main development branch. All the changes merged to this branch are deployed live.
Kurrent Documentation uses `master` as the main development branch. All the changes merged to this branch are deployed live.

We do our best to ensure a clean history. To do so, we ask contributors to squash their commits into a set or single logical commit. Alternatively, those who merge the PRs will use the Squash and Merge feature of GitHub.

Expand Down Expand Up @@ -37,7 +37,7 @@ The local build must complete successfully before you open a pull request.

## Importing documentation

This repository contains documentation about Event Store and its client SDKs. The documentation for EventStoreDB, including its HTTP API, is imported from the respective repositories on build. To import the documentation manually, run:
This repository contains documentation about Kurrent and its client SDKs. The documentation for KurrentDB, including its HTTP API, is imported from the respective repositories on build. To import the documentation manually, run:

```bash
pnpm run import
Expand All @@ -55,9 +55,9 @@ The documentation sources are located in the `/docs` directory. The `/docs/.vuep

Other directors inside `/docs` include:
- `clients`: documentation for current and legacy clients
- `cloud`: Event Store Cloud documentation
- `server`: EventStoreDB documentation imported from the server repository
- `http-api`: EventStoreDB HTTP API documentation imported from the server repository
- `cloud`: Kurrent Cloud documentation
- `server`: KurrentDB documentation imported from the server repository
- `http-api`: KurrentDB HTTP API documentation imported from the server repository
- `samples`: imported code samples for the client SDKs, server, and HTTP API

Directories with imported code like `server`, `http-api`, and `samples` are generated on build and should not be edited manually. They are also listed in `.gitignore` and won't be committed to the repository.
Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# EventStoreDB documentation
# KurrentDB documentation

EventStoreDB is an open-source, functional database with Complex Event Processing in JavaScript.
KurrentDB (formerly EventStoreDB) is the leading event-native data platform, enabling organizations to build modern, event-driven applications and unlock the power of their business history. By capturing every change as an immutable event, KurrentDB provides a single source of truth for real-time data, historical analysis, and advanced AI/ML initiatives.

This repository maintains documentation for EventStoreDB (imported from the server repository on build), Event Store Cloud, client SDKs, and other tools and product provided by Event Store.
This repository maintains documentation for KurrentDB (imported from the server repository on build), Kurrent Cloud, client SDKs, and other tools and product provided by Kurrent.

## Contributing

Feel free to [create a GitHub](https://github.com/EventStore/documentation/issues/new) issue if you have any questions or request for more explanation or samples.
Feel free to [create a GitHub](https://github.com/kurrent-io/documentation/issues/new) issue if you have any questions or request for more explanation or samples.

We're open to any contribution. If you noticed some inconsistency, missing piece, or you'd like to extend existing docs - we'll be happy to [get your Pull Request](https://github.com/EventStore/documentation/compare).
We're open to any contribution. If you noticed some inconsistency, missing piece, or you'd like to extend existing docs - we'll be happy to [get your Pull Request](https://github.com/kurrent-io/documentation/compare).

Note that EventStoreDB documentation is located in the [server repository](https://github.com/EventStore/EventStore). Open issues and PRs for server documentation in there.
Note that KurrentDB documentation is located in the [server repository](https://github.com/kurrent-io/KurrentDB). Open issues and PRs for server documentation in there.

Please make sure to follow the [contribution guidelines](CONTRIBUTING.md). It contains detailed information on how to contribute to the documentation.

## Samples

EventStoreDB clients:
- C# - [see more](https://github.com/EventStore/EventStore-Client-Dotnet/tree/master/samples)
- NodeJS - [see more](https://github.com/EventStore/EventStore-Client-NodeJS/tree/master/packages/test/src/samples)
- Java - [see more](https://github.com/EventStore/EventStoreDB-Client-Java/tree/trunk/src/test/java/io/kurrent/dbclient/samples)
- Rust - [see more](https://github.com/EventStore/EventStoreDB-Client-Rust/tree/master/examples)
- Go - [see more](https://github.com/EventStore/EventStore-Client-Go/tree/master/samples)
KurrentDB clients:
- C# - [see more](https://github.com/kurrent-io/EventStore-Client-Dotnet/tree/master/samples)
- NodeJS - [see more](https://github.com/kurrent-io/KurrentDB-Client-NodeJS/tree/master/packages/test/src/samples)
- Java - [see more](https://github.com/kurrent-io/KurrentDB-Client-Java/tree/trunk/src/test/java/io/kurrent/dbclient/samples)
- Rust - [see more](https://github.com/kurrent-io/KurrentDB-Client-Rust/tree/master/examples)
- Go - [see more](https://github.com/kurrent-io/KurrentDB-Client-Go/tree/master/samples)

## Local development

Expand Down
2 changes: 1 addition & 1 deletion docs/.vuepress/components/xode/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {reactive} from "vue";
import {getUrlParamValue} from "../../lib/url";
import {getStorageValue, setStorageValue} from "../../lib/localStorage";

const prefix = "eventstore-docs";
const prefix = "kurrent-docs";
const langStorageName = "codeLanguage";

function getSelectedCodeLanguage() {
Expand Down
4 changes: 2 additions & 2 deletions docs/.vuepress/configs/navbar.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {instance as ver} from "../lib/versioning";
import type {NavbarOptions} from "vuepress-theme-hope";
import {instance as ver} from "../lib/versioning";

export const navbarEn: NavbarOptions = [
{
Expand All @@ -25,7 +25,7 @@ export const navbarEn: NavbarOptions = [
text: "Clients & APIs",
icon: "material-symbols:sdk",
children: [
{text: "Clients", children: [{text: "EventStoreDB clients", link: "/clients/grpc/getting-started"}]},
{text: "Clients", children: [{text: "KurrentDB clients", link: "/clients/grpc/getting-started"}]},
{text: "HTTP API", children: ver.linksFor("http-api", false)},
{text: "Deprecated", children: [{text: "Legacy TCP clients", link: "/clients/tcp/"}]},
]
Expand Down
2 changes: 1 addition & 1 deletion docs/.vuepress/configs/plugins/notices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export const notices: NoticePluginOptions = {
{
path: "/clients/tcp/dotnet/21.2/",
title: "This documentation is for the legacy TCP client",
content: "This client is no longer supported because newer versions of EventStoreDB only support gRPC-based client protocol. Please use the latest client libraries.",
content: "This client is no longer supported because newer versions of KurrentDB only support gRPC-based client protocol. Please use the latest client libraries.",
actions: [
{
text: "Migration guide",
Expand Down
4 changes: 2 additions & 2 deletions docs/.vuepress/lib/samples.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export function resolveSamplesPath(src: string, srcCat: string | undefined) {
},
"go": {
label: "Go",
path: "clients/go/4.2.0"
path: "clients/go/1.0.0"
},
"rs": {
label: "Rust",
Expand Down Expand Up @@ -92,4 +92,4 @@ export function resolveSamplesPath(src: string, srcCat: string | undefined) {
return {label: lang.label, path: path.resolve(__dirname, p)};
}

export const projectionSamplesPath = "https://raw.githubusercontent.com/EventStore/EventStore/53f84e55ea56ccfb981aff0e432581d72c23fbf6/samples/http-api/data/";
export const projectionSamplesPath = "https://raw.githubusercontent.com/kurrent-io/KurrentDB/53f84e55ea56ccfb981aff0e432581d72c23fbf6/samples/http-api/data/";
20 changes: 10 additions & 10 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ highlights:
icon: hugeicons:cloud
link: https://www.kurrent.io/kurrent-cloud
- title: Start KurrentDB in a container
details: Run <code>docker run eventstore/eventstore:latest --dev</code> to start EventStoreDB in developers mode.
details: Run <code>docker run kurrentplatform/kurrentdb:latest --dev</code> to start KurrentDB in developers mode.
icon: simple-icons:docker
link: /latest/quick-start/installation.html#docker
- title: Start using the client
Expand All @@ -28,7 +28,7 @@ highlights:
link: /clients/grpc/getting-started.html

- header: Deploy in your environment
description: Deploy EventStoreDB in your environment using our binaries, Docker Compose, or Kubernetes Operator.
description: Deploy KurrentDB in your environment using our binaries, Docker Compose, or Kubernetes Operator.
features:
- title: AWS
icon: skill-icons:aws-dark
Expand All @@ -47,17 +47,17 @@ highlights:

- title: Linux
icon: devicon:linux
details: Use Event Store package feeds for Ubuntu, Debian, CentOS, and Red Hat Enterprise Linux.
details: Use Kurrent package feeds for Ubuntu, Debian, CentOS, and Red Hat Enterprise Linux.
link: /latest/quick-start/installation.html#install-from-packagecloud

- title: Windows
icon: devicon:windows8
details: Download the Windows binaries or use Chocolatey to install EventStoreDB.
details: Download the Windows binaries or use Chocolatey to install KurrentDB.
link: /latest/quick-start/installation.html#windows

- title: Docker
icon: logos:docker-icon
details: Use Docker Compose to pull images from Docker Hub and run EventStoreDB in containers.
details: Use Docker Compose to pull images from Cloudsmith and run KurrentDB in containers.
link: /latest/quick-start/installation.html#use-docker-compose

- header: Develop in your language
Expand All @@ -75,27 +75,27 @@ highlights:

- title: C#
icon: devicon:csharp
details: Build .NET applications with EventStoreDB using the .NET client for latest .NET and legacy .NET Framework.
details: Build .NET applications with KurrentDB using the .NET client for latest .NET and legacy .NET Framework.
link: /client/csharp

- title: Python
icon: devicon:python
details: Create applications and scripts in Python using the EventStoreDB client.
details: Create applications and scripts in Python using the KurrentDB client.
link: /client/Python

- title: Rust
icon: skill-icons:rust
details: Bring EventStoreDB to your Rust applications using the Rust client.
details: Bring KurrentDB to your Rust applications using the Rust client.
link: /client/Rust

- title: Go
icon: skill-icons:golang
details: Connect EventStoreDB with your Go applications using the Go client.
details: Connect KurrentDB with your Go applications using the Go client.
link: /client/Go

- title: HTTP API
icon: catppuccin:http
details: Use EventStoreDB's HTTP API to interact with the database using any language or stack.
details: Use KurrentDB's HTTP API to interact with the database using any language or stack.
link: https://docs.kurrent.io/http-api/v24.10/introduction.html

footer: Copyright © 2025 Kurrent, Inc
Expand Down
2 changes: 1 addition & 1 deletion docs/clients/grpc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ breadcrumbExclude: true

# Clients

Learn how to use the EventStoreDB client libraries to interact with the database.
Learn how to use the KurrentDB client libraries to interact with the database.

<Catalog/>
18 changes: 9 additions & 9 deletions docs/clients/grpc/appending-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ order: 2

# Appending events

When you start working with EventStoreDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs.
When you start working with KurrentDB, it is empty. The first meaningful operation is to add one or more events to the database using one of the available client SDKs.

::: tip
Check the [Getting Started](getting-started.md) guide to learn how to configure and use the client SDK.
:::

## Append your first event

The simplest way to append an event to EventStoreDB is to create an `EventData` object and call `AppendToStream` method.
The simplest way to append an event to KurrentDB is to create an `EventData` object and call `AppendToStream` method.

@[code{append-to-stream}](@grpc:appending_events.py;appending-events.js;appending-events.ts;appending_events/AppendingEvents.java;appending-events/Program.cs;appendingEvents.go;appending_events.rs)

Expand All @@ -26,11 +26,11 @@ If you are new to Event Sourcing, please study the [Handling concurrency](#handl

## Working with EventData

Events appended to EventStoreDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**.
Events appended to KurrentDB must be wrapped in an `EventData` object. This allows you to specify the event's content, the type of event, and whether it's in JSON format. In its simplest form, you need three arguments: **eventId**, **type**, and **data**.

### eventId

This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, EventStoreDB will only append one of the events to the stream.
This takes the format of a `Uuid` and is used to uniquely identify the event you are trying to append. If two events with the same `Uuid` are appended to the same stream in quick succession, KurrentDB will only append one of the events to the stream.

For example, the following code will only append a single event:

Expand All @@ -46,19 +46,19 @@ It is common to see the explicit event code type name used as the type as it mak

### data

Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of EventStoreDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes.
Representation of your event data. It is recommended that you store your events as JSON objects. This allows you to take advantage of all of KurrentDB's functionality, such as projections. That said, you can save events using whatever format suits your workflow. Eventually, the data will be stored as encoded bytes.

### metadata

Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. EventStoreDB allows you to store a separate byte array containing this information to keep it separate.
Storing additional information alongside your event that is part of the event itself is standard practice. This can be correlation IDs, timestamps, access information, etc. KurrentDB allows you to store a separate byte array containing this information to keep it separate.

### isJson

Simple boolean field to tell EventStoreDB if the event is stored as json, true by default.
Simple boolean field to tell KurrentDB if the event is stored as json, true by default.

## Handling concurrency

When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform EventStoreDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown.
When appending events to a stream, you can supply a *stream state* or *stream revision*. Your client uses this to inform KurrentDB of the state or version you expect the stream to be in when appending an event. If the stream isn't in that state, an exception will be thrown.

For example, if you try to append the same record twice, expecting both times that the stream doesn't exist, you will get an exception on the second:

Expand All @@ -69,7 +69,7 @@ There are three available stream states:
- `NoStream`
- `StreamExists`

This check can be used to implement optimistic concurrency. When retrieving a stream from EventStoreDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime.
This check can be used to implement optimistic concurrency. When retrieving a stream from KurrentDB, note the current version number. When you save it back, you can determine if somebody else has modified the record in the meantime.

@[code{append-with-concurrency-check}](@grpc:appending_events.py;appending-events.js;appending-events.ts;appending_events/AppendingEvents.java;appending-events/Program.cs;appendingEvents.go;appending_events.rs)

Expand Down
15 changes: 8 additions & 7 deletions docs/clients/grpc/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ X.509 certificates are digital certificates that use the X.509 public key infras

### Prerequisites

1. EventStoreDB 24.2.0 or greater with commercial license.
2. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/EventStore/es-gencert-cli).
3. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information.
4. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates)
1. KurrentDB 25.0 or greater, or EventStoreDB 24.10.
2. A commercial license with the User Certificates entitlement.
3. A valid x.509 certificate, which can be created using version `1.3` or higher of the [gencert tool](https://github.com/kurrent-io/es-gencert-cli).
4. The server must run in secure mode. See [Security Options](@server/security/protocol-security.md) for more information.
5. [Enable User Certificates plugin on the server](@server/security/user-authentication.md#user-x509-certificates)

#### Generate user certificates

The following command uses the [gencert tool](https://github.com/EventStore/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days:
The following command uses the [gencert tool](https://github.com/kurrent-io/es-gencert-cli) to generate a user certificate for the user `admin` that will expire in 10 days:

::: tabs#os
@tab bash
Expand All @@ -29,9 +30,9 @@ The following command uses the [gencert tool](https://github.com/EventStore/es-g
```
:::

### Connect to EventStoreDB using an x.509 certificate
### Connect to KurrentDB using an x.509 certificate

To connect to EventStoreDB using an x.509 certificate, you need to provide the
To connect to KurrentDB using an x.509 certificate, you need to provide the
certificate and the private key to the client. If both username/password and
certificate authentication data are supplied, the client prioritizes user
credentials for authentication. The client will throw an error if the
Expand Down
Loading