{"id":29410038,"url":"https://github.com/ravendb/orleans.providers.ravendb","last_synced_at":"2026-01-07T14:15:29.984Z","repository":{"id":284375141,"uuid":"804844791","full_name":"ravendb/Orleans.Providers.RavenDB","owner":"ravendb","description":"Orleans providers for RavenDB","archived":false,"fork":false,"pushed_at":"2025-09-07T12:06:06.000Z","size":1725,"stargazers_count":2,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-07T14:21:47.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravendb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-23T11:38:33.000Z","updated_at":"2025-08-13T11:08:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9e75c65-c385-42bd-a515-4273a4c32a28","html_url":"https://github.com/ravendb/Orleans.Providers.RavenDB","commit_stats":null,"previous_names":["ravendb/orleans.providers.ravendb"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ravendb/Orleans.Providers.RavenDB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravendb%2FOrleans.Providers.RavenDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravendb%2FOrleans.Providers.RavenDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravendb%2FOrleans.Providers.RavenDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravendb%2FOrleans.Providers.RavenDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravendb","download_url":"https://codeload.github.com/ravendb/Orleans.Providers.RavenDB/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravendb%2FOrleans.Providers.RavenDB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280873217,"owners_count":26405853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-11T05:07:58.353Z","updated_at":"2025-10-24T22:11:09.199Z","avatar_url":"https://github.com/ravendb.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RavenDB-Orleans Provider\n\n[![Build](https://github.com/ravendb/Orleans.Providers.RavenDB/actions/workflows/orleansTests.yml/badge.svg)](https://github.com/ravendb/Orleans.Providers.RavenDB/actions/workflows/orleansTests.yml)\n[![NuGet](https://img.shields.io/nuget/v/Orleans.Providers.RavenDB.svg)](https://www.nuget.org/packages/Orleans.Providers.RavenDB/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)\n\n## 📌 Overview\n\n**RavenDB-Orleans Provider** is a [Microsoft Orleans](https://dotnet.github.io/orleans/) storage provider that integrates [RavenDB](https://ravendb.net/) as a backing store for grain persistence, reminders, and clustering.\n\nThis provider enables **high-performance, distributed applications** that leverage the event-driven, distributed actor model of Orleans with the **scalability and flexibility of RavenDB**.\n\n---\n\n## 🚀 Features\n✔ **Grain Storage** – Persist and retrieve Orleans grain states using RavenDB.  \n✔ **Reminders Provider** – Stores Orleans timers and reminders in RavenDB.  \n✔ **Clustering Support** – Uses RavenDB for **Orleans cluster membership management**.  \n✔ **Optimized Queries** – Efficient indexing and querying using **RavenDB’s built-in indexing**.  \n✔ **Fully Asynchronous** – Non-blocking, highly scalable storage provider.  \n✔ **.NET 8 Support** – Fully compatible with the latest Orleans \u0026 .NET 8.  \n\n---\n\n## 🔧 Configuration\n\n```csharp\n\nvar host = Host.CreateDefaultBuilder(args)\n\t.UseOrleans(siloBuilder =\u003e\n\t{\n\t\t// Define RavenDB connection settings\n\t\tstring serverUrl = \"http://localhost:8080\";\n\t\tstring databaseName = \"OrleansDemo\";\n\n\t\tsiloBuilder\n\t\t\t// Configure clustering with RavenDB\n\t\t\t.UseRavenDbMembershipTable(options =\u003e\n\t\t\t{\n\t\t\t\toptions.Urls = new[] { serverUrl };\n\t\t\t\toptions.DatabaseName = databaseName;\n\t\t\t})\n\t\t\t// Configure grain storage with RavenDB\n\t\t\t.AddRavenDbGrainStorage(\"RavenGrainStorage\", options =\u003e\n\t\t\t{\n\t\t\t\toptions.Urls = new[] { serverUrl };\n\t\t\t\toptions.DatabaseName = databaseName;\n\t\t\t})\n\t\t\t// Configure reminders with RavenDB\n\t\t\t.AddRavenDbReminderTable(options =\u003e\n\t\t\t{\n\t\t\t\toptions.Urls = new[] { serverUrl };\n\t\t\t\toptions.DatabaseName = databaseName;\n\t\t\t})\n\t\t\t// Configure other Orleans settings\n\t\t\t.Configure\u003cClusterOptions\u003e(options =\u003e\n\t\t\t{\n\t\t\t\toptions.ClusterId = \"dev\";\n\t\t\t\toptions.ServiceId = \"OrleansDemo\";\n\t\t\t})\n\t\t\t.Configure\u003cEndpointOptions\u003e(options =\u003e\n\t\t\t{\n\t\t\t\toptions.AdvertisedIPAddress = IPAddress.Loopback;\n\t\t\t\toptions.SiloPort = 11111;\n\t\t\t\toptions.GatewayPort = 30000;\n\t\t\t})\n\t\t\t.ConfigureLogging(logging =\u003e logging.AddConsole());\n\t}).Build();\n\nawait host.RunAsync();\n```\n\n\n---\n\n## 📦 Installation\n\nYou can install the package via NuGet:\n\n```sh\ndotnet add package Orleans.Providers.RavenDb\n```\n\nTo build the project locally, run:\n```sh\npwsh ./build.ps1\n```\nor (on Linux/macOS)\n```sh\n./build.sh\n```\n---\n\n## 📖 Documentation Links\n- Official Orleans Documentation: https://dotnet.github.io/orleans/\n- RavenDB Documentation: https://ravendb.net/docs/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravendb%2Forleans.providers.ravendb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravendb%2Forleans.providers.ravendb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravendb%2Forleans.providers.ravendb/lists"}