Skip to content

OrleansContrib/Orleans.Persistence.Minio

Repository files navigation

Orleans.Persistence.Minio

Minio implementation of Orleans Grain Storage Provider

Build status NuGet

Minio is a open source cloud storage.

Installation

Install Orleans.Persistence.Minio NuGet package in the project containing your SiloHost definition with the following command line:

PM> Install-Package Orleans.Persistence.Minio

Usage

Import the extensions:

using Orleans.Persistence.Minio

Register the Orleans.Persistence.Minio grain storage on the ISiloHostBuilder:

ISiloHostBuilder builder = new SiloHostBuilder()
	.AddMinioGrainStorage("minio", options =>
		{
			options.AccessKey = "minio_access_key";
			options.SecretKey = "minio_secret_key";
			options.Endpoint = "localhost:9000";
			options.Container = "grain-storage";
		}
	);

The MinioGrainStorageOptions is used to specify the following:

  • AccessKey: Minio access key
  • SecretKey: Minio secret key
  • Endpoint: Minio endpoint
  • Container: The container under which the grain storage will be stored

Then use the storage on grains:

[StorageProvider(ProviderName = "minio")]
public class MySuperGrain : Grain<MySuperGrainState>, IMySuperGrain
{ ... }

License

MIT