| File: RedisContainerResource.cs | Web Access |
| Project: src\playground\NativeIntegrations\CSharp\Redis\NativeIntegrations.Redis.csproj (NativeIntegrations.Redis) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Hosting.Native.Authoring; namespace NativeIntegrations.Redis; /// <summary>Contains Redis authoring data; the native server owns running state and secret resolution.</summary> public sealed class RedisContainerResource(string name) : ContainerResource(name, "redis:7.4-alpine"), IResourceWithConnectionString { /// <summary>Gets a native-resolved symbolic connection reference.</summary> public ReferenceExpression ConnectionStringExpression => NativeBuildContext.ConnectionReference(this); } /// <summary>Provides Redis-specific fluent configuration for provider and AppHost builders.</summary> public static class RedisResourceBuilderExtensions { /// <summary>Mounts a retained Redis AOF data volume at /data.</summary> public static IResourceBuilder<RedisContainerResource> WithDataVolume(this IResourceBuilder<RedisContainerResource> cache, string? name = null) => cache.WithVolume(name ?? cache.ApplicationBuilder.GetDefaultDataVolumeName(cache.Resource), "/data"); }