Aller au contenu
Docs Try Aspire
Docs Try

Get started with the KurrentDB integrations

Ce contenu n’est pas encore disponible dans votre langue.

⭐ Community Toolkit KurrentDB logo

KurrentDB is an open-source event-sourcing database (formerly EventStoreDB) purpose-built for storing events as an immutable, append-only log. It delivers high availability and reliability for event-driven and event-sourcing architectures. The Aspire KurrentDB integration lets you model a KurrentDB server as a first-class resource in your AppHost, then hand the connection information to any consuming app — regardless of language.

Adding KurrentDB through Aspire — rather than wiring up containers and connection strings by hand — gives you:

  • Zero-config local development. Aspire runs KurrentDB from the docker.io/eventstore/eventstore container image with configuration generated automatically for you.
  • Consistent connection info across languages. Once you reference the KurrentDB resource from a consuming app, Aspire injects connection properties as environment variables in a predictable format that works from C#, TypeScript, Python, Go, or any other language.
  • Built-in health checks. The hosting integration automatically registers a health check so the dashboard and your orchestrator can tell when KurrentDB is ready.
  • Dashboard observability. The KurrentDB resource shows up in the Aspire dashboard with logs, status, and telemetry alongside your other services.
  • A first-class C# client integration. C# apps can use the CommunityToolkit.Aspire.KurrentDB package for dependency injection, health checks, and OpenTelemetry, all wired up from the same resource name.

The KurrentDB integration has two sides: a hosting integration that you use in your AppHost to model the KurrentDB resource, and a connection story for consuming apps that reference it.

architecture-beta

  group apphost(server)[AppHost]
  group consumer(server)[Consuming app]

  service hosting(server)[Hosting integration] in apphost
  service kurrentdb(database)[KurrentDB server] in apphost

  service client(iconoir:server-connection)[Client integration] in consumer
  service app(server)[App] in consumer

  hosting:R --> L:kurrentdb
  kurrentdb:R --> L:client
  client:R --> L:app

The hosting integration lives in your AppHost project and models the KurrentDB server as a resource. The client integration lives in each consuming app and uses the connection information Aspire injects to talk to KurrentDB.

Getting there is a two-step process: model the KurrentDB resource in your AppHost, then connect to it from each app that needs it.

  1. Add the KurrentDB hosting integration to your AppHost, then declare a KurrentDB resource and reference it from the apps that need to store or read events. The KurrentDB Hosting integration article walks through every capability — data volumes, data bind mounts, and health checks — with C# examples.

    Set up KurrentDB in the AppHost

  2. When you reference a KurrentDB resource from a consuming app, Aspire injects its connection information as environment variables. See Connect to KurrentDB for the connection properties reference and per-language examples for C#, Go, Python, and TypeScript — including the full C# client integration.

    Connect to KurrentDB