Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Aspire.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3928,7 +3928,7 @@ Global
{A3399DE9-AAB0-43EA-B99B-6A62ABBDD7BF}.Release|x64.Build.0 = Release|Any CPU
{A3399DE9-AAB0-43EA-B99B-6A62ABBDD7BF}.Release|x86.ActiveCfg = Release|Any CPU
{A3399DE9-AAB0-43EA-B99B-6A62ABBDD7BF}.Release|x86.Build.0 = Release|Any CPU
{6CBA29C8-FF78-4ABC-BEFA-2A53CB4DB2A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CBA29C8-FF78-4ABC-BEFA-2A53CB4DB2A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CBA29C8-FF78-4ABC-BEFA-2A53CB4DB2A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CBA29C8-FF78-4ABC-BEFA-2A53CB4DB2A3}.Debug|x64.ActiveCfg = Debug|Any CPU
{6CBA29C8-FF78-4ABC-BEFA-2A53CB4DB2A3}.Debug|x64.Build.0 = Debug|Any CPU
Expand Down
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Kafka/KafkaBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public static IResourceBuilder<KafkaServerResource> WithKafkaUI(this IResourceBu
}
else
{
containerName ??= $"{builder.Resource.Name}-kafka-ui";
containerName ??= "kafka-ui";

var kafkaUi = new KafkaUIContainerResource(containerName);
var kafkaUiBuilder = builder.ApplicationBuilder.AddResource(kafkaUi)
Expand Down
6 changes: 4 additions & 2 deletions src/Aspire.Hosting.MySql/MySqlBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -189,12 +189,14 @@ public static IResourceBuilder<T> WithPhpMyAdmin<T>(this IResourceBuilder<T> bui
{
ArgumentNullException.ThrowIfNull(builder);

if (builder.ApplicationBuilder.Resources.OfType<PhpMyAdminContainerResource>().Any())
if (builder.ApplicationBuilder.Resources.OfType<PhpMyAdminContainerResource>().SingleOrDefault() is { } existinghpMyAdminResource)
{
var builderForExistingResource = builder.ApplicationBuilder.CreateResourceBuilder(existinghpMyAdminResource);
configureContainer?.Invoke(builderForExistingResource);
return builder;
}

containerName ??= $"{builder.Resource.Name}-phpmyadmin";
containerName ??= "phpmyadmin";

var phpMyAdminContainer = new PhpMyAdminContainerResource(containerName);
var phpMyAdminContainerBuilder = builder.ApplicationBuilder.AddResource(phpMyAdminContainer)
Expand Down
5 changes: 3 additions & 2 deletions src/Aspire.Hosting.PostgreSQL/PostgresBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ public static IResourceBuilder<T> WithPgAdmin<T>(this IResourceBuilder<T> builde
}
else
{
containerName ??= $"{builder.Resource.Name}-pgadmin";
containerName ??= "pgadmin";

var pgAdminContainer = new PgAdminContainerResource(containerName);
var pgAdminContainerBuilder = builder.ApplicationBuilder.AddResource(pgAdminContainer)
Expand Down Expand Up @@ -294,7 +294,8 @@ public static IResourceBuilder<PostgresServerResource> WithPgWeb(this IResourceB
}
else
{
containerName ??= $"{builder.Resource.Name}-pgweb";
containerName ??= "pgweb";

var pgwebContainer = new PgWebContainerResource(containerName);
var pgwebContainerBuilder = builder.ApplicationBuilder.AddResource(pgwebContainer)
.WithImage(PostgresContainerImageTags.PgWebImage, PostgresContainerImageTags.PgWebTag)
Expand Down
4 changes: 2 additions & 2 deletions src/Aspire.Hosting.Redis/RedisBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public static IResourceBuilder<RedisResource> WithRedisCommander(this IResourceB
}
else
{
containerName ??= $"{builder.Resource.Name}-commander";
containerName ??= "rediscommander";

var resource = new RedisCommanderResource(containerName);
var resourceBuilder = builder.ApplicationBuilder.AddResource(resource)
Expand Down Expand Up @@ -220,7 +220,7 @@ public static IResourceBuilder<RedisResource> WithRedisInsight(this IResourceBui
}
else
{
containerName ??= $"{builder.Resource.Name}-insight";
containerName ??= "insight";
Comment thread
sebastienros marked this conversation as resolved.
Outdated

var resource = new RedisInsightResource(containerName);
var resourceBuilder = builder.ApplicationBuilder.AddResource(resource)
Expand Down
4 changes: 2 additions & 2 deletions tests/Aspire.Hosting.Kafka.Tests/AddKafkaTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,9 @@ public async Task WithDataBindConfigureCorrectEnvironment()
return new()
{
{ "kafka-ui", "kafka-ui", 8081 },
{ null, "kafka1-kafka-ui", 8081 },
{ null, "kafka-ui", 8081 },
{ "kafka-ui", "kafka-ui", null },
{ null, "kafka1-kafka-ui", null },
{ null, "kafka-ui", null },
};
}

Expand Down
8 changes: 4 additions & 4 deletions tests/Aspire.Hosting.MySql.Tests/AddMySqlTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ public void WithMySqlTwiceEndsUpWithOneAdminContainer()
builder.AddMySql("mySql").WithPhpMyAdmin();
builder.AddMySql("mySql2").WithPhpMyAdmin();

Assert.Single(builder.Resources.OfType<ContainerResource>(), resource => resource.Name == "mySql-phpmyadmin");
Assert.Single(builder.Resources.OfType<ContainerResource>(), resource => resource.Name == "phpmyadmin");
}

[Fact]
Expand All @@ -241,11 +241,11 @@ public async Task SingleMySqlInstanceProducesCorrectMySqlHostsVariable()

await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var myAdmin = builder.Resources.Single(r => r.Name.EndsWith("-phpmyadmin"));
var myAdmin = builder.Resources.Single(r => r.Name.Equals("phpmyadmin"));

var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(myAdmin, DistributedApplicationOperation.Run, TestServiceProvider.Instance);

var container = builder.Resources.Single(r => r.Name == "mySql-phpmyadmin");
var container = builder.Resources.Single(r => r.Name == "phpmyadmin");
Assert.Empty(container.Annotations.OfType<ContainerMountAnnotation>());

Assert.Equal($"{mysql.Resource.Name}:{mysql.Resource.PrimaryEndpoint.TargetPort}", config["PMA_HOST"]);
Expand Down Expand Up @@ -273,7 +273,7 @@ public void WithPhpMyAdminProducesValidServerConfigFile()

builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var myAdmin = builder.Resources.Single(r => r.Name.EndsWith("-phpmyadmin"));
var myAdmin = builder.Resources.Single(r => r.Name.Equals("phpmyadmin"));
var volume = myAdmin.Annotations.OfType<ContainerMountAnnotation>().Single();

using var stream = File.OpenRead(volume.Source!);
Expand Down
2 changes: 1 addition & 1 deletion tests/Aspire.Hosting.MySql.Tests/MySqlFunctionalTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ public async Task MySql_WithPersistentLifetime_ReusesContainers(bool useMultiple
mySqlId2 = GetContainerId(resourceEvent);
}

resourceEvent = await rns.WaitForResourceHealthyAsync("resource-phpmyadmin", cts.Token);
resourceEvent = await rns.WaitForResourceHealthyAsync("phpmyadmin", cts.Token);
var phpMyAdminId = GetContainerId(resourceEvent);

await app.StopAsync(cts.Token).WaitAsync(cts.Token);
Expand Down
10 changes: 5 additions & 5 deletions tests/Aspire.Hosting.PostgreSQL.Tests/AddPostgresTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ public async Task WithPgAdminAddsContainer()
// The mount annotation is added in the AfterEndpointsAllocatedEvent.
await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var container = builder.Resources.Single(r => r.Name == "mypostgres-pgadmin");
var container = builder.Resources.Single(r => r.Name == "pgadmin");
var createFile = container.Annotations.OfType<ContainerFileSystemCallbackAnnotation>().Single();

Assert.Equal("/pgadmin4", createFile.DestinationPath);
Expand Down Expand Up @@ -434,7 +434,7 @@ public void WithPgAdminWithCallbackMutatesImage()
using var builder = TestDistributedApplicationBuilder.Create();
builder.AddPostgres("mypostgres").WithPgAdmin(pga => pga.WithImageTag("8.3"));

var container = builder.Resources.Single(r => r.Name == "mypostgres-pgadmin");
var container = builder.Resources.Single(r => r.Name == "pgadmin");
var imageAnnotation = container.Annotations.OfType<ContainerImageAnnotation>().Single();

Assert.Equal("8.3", imageAnnotation.Tag);
Expand All @@ -447,7 +447,7 @@ public void WithPostgresTwiceEndsUpWithOneContainer()
builder.AddPostgres("mypostgres1").WithPgAdmin(pga => pga.WithHostPort(8081));
builder.AddPostgres("mypostgres2").WithPgAdmin(pga => pga.WithHostPort(8081));

Assert.Single(builder.Resources, r => r.Name.EndsWith("-pgadmin"));
Assert.Single(builder.Resources, r => r.Name.Equals("pgadmin"));
}

[Fact]
Expand All @@ -470,7 +470,7 @@ public async Task WithPostgresProducesValidServersJsonFile()

await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var pgadmin = builder.Resources.Single(r => r.Name.EndsWith("-pgadmin"));
var pgadmin = builder.Resources.Single(r => r.Name.Equals("pgadmin"));

var createServers = pgadmin.Annotations.OfType<ContainerFileSystemCallbackAnnotation>().Single();

Expand Down Expand Up @@ -542,7 +542,7 @@ public async Task WithPgwebProducesValidBookmarkFiles()

await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var pgweb = builder.Resources.Single(r => r.Name.EndsWith("-pgweb"));
var pgweb = builder.Resources.Single(r => r.Name.Equals("pgweb"));
var createBookmarks = pgweb.Annotations.OfType<ContainerFileSystemCallbackAnnotation>().Single();

Assert.Equal("/", createBookmarks.DestinationPath);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -485,10 +485,10 @@ public async Task Postgres_WithPersistentLifetime_ReusesContainers()
var resourceEvent = await rns.WaitForResourceHealthyAsync("resource", cts.Token);
var postgresId = GetContainerId(resourceEvent);

resourceEvent = await rns.WaitForResourceHealthyAsync("resource-pgweb", cts.Token);
resourceEvent = await rns.WaitForResourceHealthyAsync("pgweb", cts.Token);
var pgWebId = GetContainerId(resourceEvent);

resourceEvent = await rns.WaitForResourceHealthyAsync("resource-pgadmin", cts.Token);
resourceEvent = await rns.WaitForResourceHealthyAsync("pgadmin", cts.Token);
var pgadminId = GetContainerId(resourceEvent);

await app.StopAsync(cts.Token).WaitAsync(TimeSpan.FromMinutes(1), cts.Token);
Expand Down
6 changes: 3 additions & 3 deletions tests/Aspire.Hosting.Redis.Tests/AddRedisTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ public async Task SingleRedisInstanceWithoutPasswordProducesCorrectRedisHostsVar

await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var commander = builder.Resources.Single(r => r.Name.EndsWith("-commander"));
var commander = builder.Resources.Single(r => r.Name.Equals("rediscommander"));

var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(
commander,
Expand All @@ -449,7 +449,7 @@ public async Task SingleRedisInstanceWithPasswordProducesCorrectRedisHostsVariab

await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var commander = builder.Resources.Single(r => r.Name.EndsWith("-commander"));
var commander = builder.Resources.Single(r => r.Name.Equals("rediscommander"));

var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(commander);

Expand All @@ -470,7 +470,7 @@ public async Task MultipleRedisInstanceProducesCorrectRedisHostsVariable()

await builder.Eventing.PublishAsync<AfterEndpointsAllocatedEvent>(new(app.Services, app.Services.GetRequiredService<DistributedApplicationModel>()));

var commander = builder.Resources.Single(r => r.Name.EndsWith("-commander"));
var commander = builder.Resources.Single(r => r.Name.Equals("rediscommander"));

var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(
commander,
Expand Down