# HostingExtensions.AddCosmosGrainStorageAsDefault(ISiloBuilder, Action&lt;OptionsBuilder&lt;CosmosGrainStorageOptions&gt;&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.persistence.cosmos/orleans.hosting.hostingextensions/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.persistence.cosmos/orleans.hosting.hostingextensions/methods/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Persistence.Cosmos/HostingExtensions.cs)

```csharp
public static ISiloBuilder AddCosmosGrainStorageAsDefault<TPartitionKeyProvider>(this ISiloBuilder builder, Action<OptionsBuilder<CosmosGrainStorageOptions>>? configureOptions = null)
```

Configure silo to use Azure Cosmos DB storage as the default grain storage using a custom Partition Key Provider.

### Parameters

- `builder` (`ISiloBuilder`): The silo builder.
- `configureOptions` (`Action<OptionsBuilder<CosmosGrainStorageOptions>>`): The delegate used to configure the provider.
