From bdb89de798192479b68738a1926e106e46474dd1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 24 Jun 2026 05:44:26 +0000 Subject: [PATCH 1/2] Initial plan From a9c766ce2f7aba1f897731af3e8e3d5d103f6401 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 24 Jun 2026 05:56:59 +0000 Subject: [PATCH 2/2] Fix Redis DbGate URL to use TLS scheme Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> --- .../RedisBuilderExtensions.cs | 4 ++-- .../AddDbGateTests.cs | 8 ++++---- .../ResourceCreationTests.cs | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/CommunityToolkit.Aspire.Hosting.Redis.Extensions/RedisBuilderExtensions.cs b/src/CommunityToolkit.Aspire.Hosting.Redis.Extensions/RedisBuilderExtensions.cs index 6b20005cd..1e8ee08c0 100644 --- a/src/CommunityToolkit.Aspire.Hosting.Redis.Extensions/RedisBuilderExtensions.cs +++ b/src/CommunityToolkit.Aspire.Hosting.Redis.Extensions/RedisBuilderExtensions.cs @@ -122,8 +122,8 @@ private static void ConfigureDbGateContainer(EnvironmentCallbackContext context, // DbGate assumes Redis is being accessed over a default Aspire container network and hardcodes the resource address var redisUrl = redisResource.PasswordParameter is not null ? - ReferenceExpression.Create($"redis://:{redisResource.PasswordParameter}@{name}:{redisResource.PrimaryEndpoint.TargetPort?.ToString()}") : - ReferenceExpression.Create($"redis://{name}:{redisResource.PrimaryEndpoint.TargetPort?.ToString()}"); + ReferenceExpression.Create($"rediss://:{redisResource.PasswordParameter}@{name}:{redisResource.PrimaryEndpoint.TargetPort?.ToString()}") : + ReferenceExpression.Create($"rediss://{name}:{redisResource.PrimaryEndpoint.TargetPort?.ToString()}"); context.EnvironmentVariables.Add(label, name); context.EnvironmentVariables.Add($"URL_{connectionId}", redisUrl); diff --git a/tests/CommunityToolkit.Aspire.Hosting.DbGate.Tests/AddDbGateTests.cs b/tests/CommunityToolkit.Aspire.Hosting.DbGate.Tests/AddDbGateTests.cs index 322169e47..3bd440378 100644 --- a/tests/CommunityToolkit.Aspire.Hosting.DbGate.Tests/AddDbGateTests.cs +++ b/tests/CommunityToolkit.Aspire.Hosting.DbGate.Tests/AddDbGateTests.cs @@ -362,8 +362,8 @@ public async Task WithDbGateShouldAddAnnotationsForMultipleDatabaseTypes() { var expectedRedisUrl = redisResource1.PasswordParameter switch { - IValueProvider parameter => $"redis://:{await parameter.GetValueAsync(default)}@{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}", - _ => $"redis://{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}" + IValueProvider parameter => $"rediss://:{await parameter.GetValueAsync(default)}@{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}", + _ => $"rediss://{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}" }; Assert.Equal("URL_redis1", item.Key); Assert.Equal(expectedRedisUrl, item.Value); @@ -382,8 +382,8 @@ public async Task WithDbGateShouldAddAnnotationsForMultipleDatabaseTypes() { var expectedRedisUrl = redisResource2.PasswordParameter switch { - IValueProvider parameter => $"redis://:{await parameter.GetValueAsync(default)}@{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}", - _ => $"redis://{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}" + IValueProvider parameter => $"rediss://:{await parameter.GetValueAsync(default)}@{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}", + _ => $"rediss://{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}" }; Assert.Equal("URL_redis2", item.Key); Assert.Equal(expectedRedisUrl, item.Value); diff --git a/tests/CommunityToolkit.Aspire.Hosting.Redis.Extensions.Tests/ResourceCreationTests.cs b/tests/CommunityToolkit.Aspire.Hosting.Redis.Extensions.Tests/ResourceCreationTests.cs index 5a5c27842..ed6a56217 100644 --- a/tests/CommunityToolkit.Aspire.Hosting.Redis.Extensions.Tests/ResourceCreationTests.cs +++ b/tests/CommunityToolkit.Aspire.Hosting.Redis.Extensions.Tests/ResourceCreationTests.cs @@ -44,7 +44,7 @@ public async Task WithDbGateAddsAnnotations() async item => { var redisUrl = redisResource.PasswordParameter is not null ? - $"redis://:{await redisResource.PasswordParameter.GetValueAsync(default)}@{redisResource.Name}:{redisResource.PrimaryEndpoint.TargetPort}" : $"redis://{redisResource.Name}:{redisResource.PrimaryEndpoint.TargetPort}"; + $"rediss://:{await redisResource.PasswordParameter.GetValueAsync(default)}@{redisResource.Name}:{redisResource.PrimaryEndpoint.TargetPort}" : $"rediss://{redisResource.Name}:{redisResource.PrimaryEndpoint.TargetPort}"; Assert.Equal("URL_redis", item.Key); Assert.Equal(redisUrl, item.Value); }, @@ -152,7 +152,7 @@ public async Task WithDbGateAddsAnnotationsForMultipleRedisResource() async item => { var redisUrl = redisResource1.PasswordParameter is not null ? - $"redis://:{await redisResource1.PasswordParameter.GetValueAsync(default)}@{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}" : $"redis://{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}"; + $"rediss://:{await redisResource1.PasswordParameter.GetValueAsync(default)}@{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}" : $"rediss://{redisResource1.Name}:{redisResource1.PrimaryEndpoint.TargetPort}"; Assert.Equal("URL_redis1", item.Key); Assert.Equal(redisUrl, item.Value); @@ -170,7 +170,7 @@ public async Task WithDbGateAddsAnnotationsForMultipleRedisResource() async item => { var redisUrl = redisResource2.PasswordParameter is not null ? - $"redis://:{await redisResource2.PasswordParameter.GetValueAsync(default)}@{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}" : $"redis://{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}"; + $"rediss://:{await redisResource2.PasswordParameter.GetValueAsync(default)}@{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}" : $"rediss://{redisResource2.Name}:{redisResource2.PrimaryEndpoint.TargetPort}"; Assert.Equal("URL_redis2", item.Key); Assert.Equal(redisUrl, item.Value);