ValkeyBuilderExtensions Methods
ClassMethods6 members
Provides extension methods for adding Valkey resources to the application model.
AddValkey(IDistributedApplicationBuilder, string, int?) Section titled AddValkey(IDistributedApplicationBuilder, string, int?)extensionIResourceBuilder<ValkeyResource> Adds a Valkey container to the application model.
public static class ValkeyBuilderExtensions{ public static IResourceBuilder<ValkeyResource> AddValkey( this IDistributedApplicationBuilder builder, string name, int? port) { // ... }}Parameters
builderIDistributedApplicationBuilder The Hosting.IDistributedApplicationBuilder .namestringThe name of the resource. This name will be used as the connection string name when referenced in a dependency.portint?The host port to bind the underlying container to.Returns
IResourceBuilder<ValkeyResource> A reference to the ApplicationModel.IResourceBuilder`1 .Remarks
This version of the package defaults to the tag of the container image.
AddValkey(IDistributedApplicationBuilder, string, int?, IResourceBuilder<ParameterResource>) Section titled AddValkey(IDistributedApplicationBuilder, string, int?, IResourceBuilder<ParameterResource>)extensionIResourceBuilder<ValkeyResource> Adds a Valkey container to the application model.
public static class ValkeyBuilderExtensions{ public static IResourceBuilder<ValkeyResource> AddValkey( this IDistributedApplicationBuilder builder, string name, int? port = null, IResourceBuilder<ParameterResource>? password = null) { // ... }}Parameters
builderIDistributedApplicationBuilder The Hosting.IDistributedApplicationBuilder .namestringThe name of the resource. This name will be used as the connection string name when referenced in a dependency.portint?optionalThe host port to bind the underlying container to.passwordIResourceBuilder<ParameterResource> optionalThe parameter used to provide the password for the Valkey resource. If null a random password will be generated.Returns
IResourceBuilder<ValkeyResource> A reference to the ApplicationModel.IResourceBuilder`1 .Remarks
This version of the package defaults to the tag of the container image.
WithDataBindMount(IResourceBuilder<ValkeyResource>, string, bool) Section titled WithDataBindMount(IResourceBuilder<ValkeyResource>, string, bool)extensionIResourceBuilder<ValkeyResource> Adds a bind mount for the data folder to a Valkey container resource and enables Valkey persistence.
public static class ValkeyBuilderExtensions{ public static IResourceBuilder<ValkeyResource> WithDataBindMount( this IResourceBuilder<ValkeyResource> builder, string source, bool isReadOnly = false) { // ... }}Parameters
builderIResourceBuilder<ValkeyResource> The resource builder.sourcestringThe source directory on the host to mount into the container.isReadOnly booloptional A flag that indicates if this is a read-only mount. Setting this to true will disable Valkey persistence. Defaults to false. Returns
IResourceBuilder<ValkeyResource> The ApplicationModel.IResourceBuilder`1 .Remarks
Use
ValkeyBuilderExtensions.WithPersistence to adjust Valkey persistence configuration, e.g.: var valkey = builder.AddValkey("valkey") .WithDataBindMount("mydata") .WithPersistence(TimeSpan.FromSeconds(10), 5);WithDataVolume(IResourceBuilder<ValkeyResource>, string?, bool) Section titled WithDataVolume(IResourceBuilder<ValkeyResource>, string?, bool)extensionIResourceBuilder<ValkeyResource> Adds a named volume for the data folder to a Valkey container resource and enables Valkey persistence.
public static class ValkeyBuilderExtensions{ public static IResourceBuilder<ValkeyResource> WithDataVolume( this IResourceBuilder<ValkeyResource> builder, string? name = null, bool isReadOnly = false) { // ... }}Parameters
builderIResourceBuilder<ValkeyResource> The resource builder.namestring?optionalThe name of the volume. Defaults to an auto-generated name based on the application and resource names.isReadOnly booloptional A flag that indicates if this is a read-only volume. Setting this to true will disable Valkey persistence. Defaults to false. Returns
IResourceBuilder<ValkeyResource> The ApplicationModel.IResourceBuilder`1 .Remarks
Use
ValkeyBuilderExtensions.WithPersistence to adjust Valkey persistence configuration, e.g.: var cache = builder.AddValkey("cache") .WithDataVolume() .WithPersistence(TimeSpan.FromSeconds(10), 5);WithPersistence(IResourceBuilder<ValkeyResource>, TimeSpan?, long) Section titled WithPersistence(IResourceBuilder<ValkeyResource>, TimeSpan?, long)extensionIResourceBuilder<ValkeyResource> Configures a Valkey container resource for persistence.
public static class ValkeyBuilderExtensions{ public static IResourceBuilder<ValkeyResource> WithPersistence( this IResourceBuilder<ValkeyResource> builder, TimeSpan? interval = null, long keysChangedThreshold = 1) { // ... }}Parameters
builderIResourceBuilder<ValkeyResource> The resource builder.intervalTimeSpan? optionalThe interval between snapshot exports. Defaults to 60 seconds.keysChangedThreshold longoptionalThe number of key change operations required to trigger a snapshot at the interval. Defaults to 1.Returns
IResourceBuilder<ValkeyResource> The ApplicationModel.IResourceBuilder`1 .Remarks
Use with
ValkeyBuilderExtensions.WithDataBindMount or ValkeyBuilderExtensions.WithDataVolume to persist Valkey data across sessions with custom persistence configuration, e.g.: var cache = builder.AddValkey("cache") .WithDataVolume() .WithPersistence(TimeSpan.FromSeconds(10), 5);WithRepl(IResourceBuilder<ValkeyResource>) Section titled WithRepl(IResourceBuilder<ValkeyResource>)extensionIResourceBuilder<ValkeyResource> Adds a REPL command that opens an authenticated Valkey shell in the dashboard terminal dock.
public static class ValkeyBuilderExtensions{ public static IResourceBuilder<ValkeyResource> WithRepl( this IResourceBuilder<ValkeyResource> builder) { // ... }}Parameters
builderIResourceBuilder<ValkeyResource> The Valkey resource builder.Returns
IResourceBuilder<ValkeyResource> The resource builder for chaining.Exceptions
ArgumentNullExceptionbuilder is null.Remarks
This command is opt-in and available only in run mode. Dashboard users who can execute resource commands can run commands with the resource's configured credentials. Enable it only for trusted dashboard users, especially when sharing the dashboard through a tunnel or remote development environment.
Examples
builder.AddValkey("valkey").WithRepl();