Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
9 changes: 5 additions & 4 deletions src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ public static IResourceBuilder<AzureCosmosDBResource> AddAzureCosmosDB(this IDis

/// <summary>
/// Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an <see cref="AzureCosmosDBResource"/> to be added to the application model.
/// For more information on the Azure Cosmos DB emulator, see <a href="https://learn.microsoft.com/azure/cosmos-db/emulator#authentication"></a>
/// For more information on the Azure Cosmos DB emulator, see <a href="https://learn.microsoft.com/azure/cosmos-db/emulator#authentication"></a>.
/// This version of the package defaults to the <inheritdoc cref="CosmosDBEmulatorContainerImageTags.Tag"/> tag of the <inheritdoc cref="CosmosDBEmulatorContainerImageTags.Registry"/>/<inheritdoc cref="CosmosDBEmulatorContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The Azure Cosmos DB resource builder.</param>
/// <param name="configureContainer">Callback that exposes underlying container used for emulation to allow for customization.</param>
Expand All @@ -117,9 +118,9 @@ public static IResourceBuilder<AzureCosmosDBResource> RunAsEmulator(this IResour
builder.WithEndpoint(name: "emulator", targetPort: 8081)
.WithAnnotation(new ContainerImageAnnotation
{
Registry = "mcr.microsoft.com",
Image = "cosmosdb/linux/azure-cosmos-emulator",
Tag = "latest"
Registry = CosmosDBEmulatorContainerImageTags.Registry,
Image = CosmosDBEmulatorContainerImageTags.Image,
Tag = CosmosDBEmulatorContainerImageTags.Tag
});

CosmosClient? cosmosClient = null;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Aspire.Hosting.Azure.Cosmos;

internal static class CosmosDBEmulatorContainerImageTags
{
/// <summary>mcr.microsoft.com</summary>
public const string Registry = "mcr.microsoft.com";

/// <summary>cosmosdb/linux/azure-cosmos-emulator</summary>
public const string Image = "cosmosdb/linux/azure-cosmos-emulator";

/// <summary>latest</summary>
public const string Tag = "latest";
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ public static IResourceBuilder<AzureEventHubsResource> AddAzureEventHubs(

/// <summary>
/// Adds an Azure Event Hubs hub resource to the application model. This resource requires an <see cref="AzureEventHubsResource"/> to be added to the application model.
/// This version of the package defaults to the <inheritdoc cref="EventHubsEmulatorContainerImageTags.Tag"/> tag of the <inheritdoc cref="EventHubsEmulatorContainerImageTags.Registry"/>/<inheritdoc cref="EventHubsEmulatorContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The Azure Event Hubs resource builder.</param>
/// <param name="name">The name of the Event Hub.</param>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ namespace Aspire.Hosting.Azure.EventHubs;

internal static class EventHubsEmulatorContainerImageTags
{
/// <summary>mcr.microsoft.com</summary>
public const string Registry = "mcr.microsoft.com";

/// <summary>azure-messaging/eventhubs-emulator</summary>
public const string Image = "azure-messaging/eventhubs-emulator";
public const string Tag = "latest";

/// <summary>latest</summary>
public const string Tag = "latest"; // latest is the only arch-agnostic tag
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ public static class ElasticsearchBuilderExtensions
/// <summary>
/// Adds an Elasticsearch container resource to the application model. This version of the package defaults to the <inheritdoc cref="ElasticsearchContainerImageTags.Tag"/> tag of the <inheritdoc cref="ElasticsearchContainerImageTags.Image"/> container image.
/// </summary>
/// <remarks>
/// The default image is "elasticsearch" and the tag is "8.15.1".
/// </remarks>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. This name will be used as the connection string name when referenced in a dependency.</param>
/// <param name="port">The host port to bind the underlying container to.</param>
Expand Down
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Garnet/GarnetBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static class GarnetBuilderExtensions
private const string GarnetContainerDataDirectory = "/data";

/// <summary>
/// Adds a Garnet container to the application model.
/// Adds a Garnet container to the application model. This version of the package defaults to the <inheritdoc cref="GarnetContainerImageTags.Tag"/> tag of the <inheritdoc cref="GarnetContainerImageTags.Registry"/>/<inheritdoc cref="GarnetContainerImageTags.Image"/> container image.
/// </summary>
/// <example>
/// Use in application host
Expand Down
5 changes: 5 additions & 0 deletions src/Aspire.Hosting.Garnet/GarnetContainerImageTags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ namespace Aspire.Hosting.Garnet;

internal static class GarnetContainerImageTags
{
/// <summary>ghcr.io</summary>
public const string Registry = "ghcr.io";

/// <summary>microsoft/garnet</summary>
public const string Image = "microsoft/garnet";

/// <summary>1.0</summary>
public const string Tag = "1.0";
}
7 changes: 6 additions & 1 deletion src/Aspire.Hosting.Keycloak/KeycloakContainerImageTags.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
// Licensed to the .NET Foundation under one or more agreements.
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Aspire.Hosting.Keycloak;

internal static class KeycloakContainerImageTags
{
/// <summary>quay.io</summary>
public const string Registry = "quay.io";

/// <summary>keycloak/keycloak</summary>
public const string Image = "keycloak/keycloak";

/// <summary>25.0</summary>
public const string Tag = "25.0";
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static class KeycloakResourceBuilderExtensions
private const string RealmImportDirectory = "/opt/keycloak/data/import";

/// <summary>
/// Adds a Keycloak container to the application model.
/// Adds a Keycloak container to the application model. This version of the package defaults to the <inheritdoc cref="KeycloakContainerImageTags.Tag"/> tag of the <inheritdoc cref="KeycloakContainerImageTags.Registry"/>/<inheritdoc cref="KeycloakContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. </param>
Expand All @@ -27,8 +27,7 @@ public static class KeycloakResourceBuilderExtensions
/// <param name="adminPassword">The parameter used as the admin password for the Keycloak resource. If <see langword="null"/> a default password will be used.</param>
/// <returns>A reference to the <see cref="IResourceBuilder{T}"/>.</returns>
/// <remarks>
/// The container is based on the quay.io/keycloak/keycloak container image.
/// The default tag is 24.0. The container exposes port 8080 by default.
/// The container exposes port 8080 by default.
/// </remarks>
/// <example>
/// Use in application host
Expand Down
3 changes: 1 addition & 2 deletions src/Aspire.Hosting.Milvus/MilvusBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public static class MilvusBuilderExtensions
private const int MilvusPortGrpc = 19530;

/// <summary>
/// Adds a Milvus resource to the application. A container is used for local development.
/// Adds a Milvus container resource to the application model. This version of the package defaults to the <inheritdoc cref="MilvusContainerImageTags.Tag"/> tag of the <inheritdoc cref="MilvusContainerImageTags.Image"/> container image.
/// </summary>
/// <example>
/// Use in application host
Expand All @@ -36,7 +36,6 @@ public static class MilvusBuilderExtensions
/// </code>
/// </example>
/// <remarks>
/// This version of the package defaults to the <inheritdoc cref="MilvusContainerImageTags.Tag"/> tag of the <inheritdoc cref="MilvusContainerImageTags.Image"/> container image.
/// The .NET client library uses the gRPC port by default to communicate and this resource exposes that endpoint.
/// A web-based administration tool for Milvus can also be added using <see cref="WithAttu"/>.
/// </remarks>
Expand Down
4 changes: 2 additions & 2 deletions src/Aspire.Hosting.MongoDB/MongoDBBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public static IResourceBuilder<MongoDBServerResource> AddMongoDB(this IDistribut
}

/// <summary>
/// Adds a MongoDB resource to the application model. A container is used for local development. This version the package defaults to the 7.0.8 tag of the mongo container image.
/// <inheritdoc cref="AddMongoDB(IDistributedApplicationBuilder, string, int?)"/>
/// </summary>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. This name will be used as the connection string name when referenced in a dependency.</param>
Expand Down Expand Up @@ -121,7 +121,7 @@ public static IResourceBuilder<MongoDBDatabaseResource> AddDatabase(this IResour
}

/// <summary>
/// Adds a MongoExpress administration and development platform for MongoDB to the application model. This version of the package defaults to the <inheritdoc cref="MongoDBContainerImageTags.MongoExpressTag"/> tag of the <inheritdoc cref="MongoDBContainerImageTags.MongoExpressImage"/> container image
/// Adds a MongoExpress administration and development platform for MongoDB to the application model. This version of the package defaults to the <inheritdoc cref="MongoDBContainerImageTags.MongoExpressTag"/> tag of the <inheritdoc cref="MongoDBContainerImageTags.MongoExpressImage"/> container image.
/// </summary>
/// <param name="builder">The MongoDB server resource builder.</param>
/// <param name="configureContainer">Configuration callback for Mongo Express container resource.</param>
Expand Down
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Nats/NatsBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace Aspire.Hosting;
public static class NatsBuilderExtensions
{
/// <summary>
/// Adds a NATS server resource to the application model. A container is used for local development.
/// Adds a NATS server resource to the application model. A container is used for local development. This version of the package defaults to the <inheritdoc cref="NatsContainerImageTags.Tag"/> tag of the <inheritdoc cref="NatsContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. This name will be used as the connection string name when referenced in a dependency.</param>
Expand Down
5 changes: 5 additions & 0 deletions src/Aspire.Hosting.Nats/NatsContainerImageTags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ namespace Aspire.Hosting.Nats;

internal static class NatsContainerImageTags
{
/// <summary>docker.io</summary>
public const string Registry = "docker.io";

/// <summary>library/nats</summary>
public const string Image = "library/nats";

/// <summary>2.10</summary>
public const string Tag = "2.10";
}
5 changes: 1 addition & 4 deletions src/Aspire.Hosting.PostgreSQL/PostgresBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ public static IResourceBuilder<PgWebContainerResource> WithHostPort(this IResour
}

/// <summary>
/// Adds an administration and development platform for PostgreSQL to the application model using pgweb.
/// Adds an administration and development platform for PostgreSQL to the application model using pgweb. This version of the package defaults to the <inheritdoc cref="PostgresContainerImageTags.PgWebTag"/> tag of the <inheritdoc cref="PostgresContainerImageTags.PgWebImage"/> container image.
/// </summary>
/// <param name="builder">The Postgres server resource builder.</param>
/// <param name="configureContainer">Configuration callback for pgweb container resource.</param>
Expand All @@ -256,9 +256,6 @@ public static IResourceBuilder<PgWebContainerResource> WithHostPort(this IResour
/// builder.Build().Run();
/// </code>
/// </example>
/// <remarks>
/// This version of the package defaults to the <inheritdoc cref="PostgresContainerImageTags.PgWebTag"/> tag of the <inheritdoc cref="PostgresContainerImageTags.PgWebImage"/> container image.
/// </remarks>
/// <returns>A reference to the <see cref="IResourceBuilder{T}"/>.</returns>
public static IResourceBuilder<PostgresServerResource> WithPgWeb(this IResourceBuilder<PostgresServerResource> builder, Action<IResourceBuilder<PgWebContainerResource>>? configureContainer = null, string? containerName = null)
{
Expand Down
3 changes: 1 addition & 2 deletions src/Aspire.Hosting.Qdrant/QdrantBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@ public static class QdrantBuilderExtensions
private const string EnableStaticContentEnvVarName = "QDRANT__SERVICE__ENABLE_STATIC_CONTENT";

/// <summary>
/// Adds a Qdrant resource to the application. A container is used for local development.
/// Adds a Qdrant resource to the application. A container is used for local development. This version of the package defaults to the <inheritdoc cref="QdrantContainerImageTags.Tag"/> tag of the <inheritdoc cref="QdrantContainerImageTags.Image"/> container image.
/// </summary>
/// <remarks>
/// This version of the package defaults to the <inheritdoc cref="QdrantContainerImageTags.Tag"/> tag of the <inheritdoc cref="QdrantContainerImageTags.Image"/> container image.
/// The .NET client library uses the gRPC port by default to communicate and this resource exposes that endpoint.
/// </remarks>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
Expand Down
3 changes: 0 additions & 3 deletions src/Aspire.Hosting.RabbitMQ/RabbitMQBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ public static class RabbitMQBuilderExtensions
/// <summary>
/// Adds a RabbitMQ container to the application model. This version of the package defaults to the <inheritdoc cref="RabbitMQContainerImageTags.Tag"/> tag of the <inheritdoc cref="RabbitMQContainerImageTags.Image"/> container image.
/// </summary>
/// <remarks>
/// The default image and tag are "rabbitmq" and "3.13".
/// </remarks>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. This name will be used as the connection string name when referenced in a dependency.</param>
/// <param name="userName">The parameter used to provide the user name for the RabbitMQ resource. If <see langword="null"/> a default value will be used.</param>
Expand Down
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Redis/RedisContainerImageTags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ internal static class RedisContainerImageTags
public const string RedisCommanderImage = "rediscommander/redis-commander";

/// <summary>latest</summary>
public const string RedisCommanderTag = "latest";
public const string RedisCommanderTag = "latest"; // There aren't better tag than 'latest' which is 3 years old.

/// <summary>docker.io</summary>
public const string RedisInsightRegistry = "docker.io";
Expand Down
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Seq/SeqBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static class SeqBuilderExtensions
const string SeqContainerDataDirectory = "/data";

/// <summary>
/// Adds a Seq server resource to the application model. A container is used for local development.
/// Adds a Seq server resource to the application model. A container is used for local development. This version of the package defaults to the <inheritdoc cref="SeqContainerImageTags.Tag"/> tag of the <inheritdoc cref="SeqContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name to give the resource.</param>
Expand Down
5 changes: 5 additions & 0 deletions src/Aspire.Hosting.Seq/SeqContainerImageTags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ namespace Aspire.Hosting;

internal static class SeqContainerImageTags
{
/// <summary>docker.io</summary>
public const string Registry = "docker.io";

/// <summary>datalust/seq</summary>
public const string Image = "datalust/seq";

/// <summary>2024.3</summary>
public const string Tag = "2024.3";
}
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.SqlServer/SqlServerBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace Aspire.Hosting;
public static class SqlServerBuilderExtensions
{
/// <summary>
/// Adds a SQL Server resource to the application model. A container is used for local development.
/// Adds a SQL Server resource to the application model. A container is used for local development. This version of the package defaults to the <inheritdoc cref="SqlServerContainerImageTags.Tag"/> tag of the <inheritdoc cref="SqlServerContainerImageTags.Registry"/>/<inheritdoc cref="SqlServerContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. This name will be used as the connection string name when referenced in a dependency.</param>
Expand Down
5 changes: 5 additions & 0 deletions src/Aspire.Hosting.SqlServer/SqlServerContainerImageTags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ namespace Aspire.Hosting;

internal static class SqlServerContainerImageTags
{
/// <summary>mcr.microsoft.com</summary>
public const string Registry = "mcr.microsoft.com";

/// <summary>mssql/server</summary>
public const string Image = "mssql/server";

/// <summary>2022-latest</summary>
public const string Tag = "2022-latest";
}
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Valkey/ValkeyBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static class ValkeyBuilderExtensions
private const string ValkeyContainerDataDirectory = "/data";

/// <summary>
/// Adds a Valkey container to the application model.
/// Adds a Valkey container to the application model. This version of the package defaults to the <inheritdoc cref="ValkeyContainerImageTags.Tag"/> tag of the <inheritdoc cref="ValkeyContainerImageTags.Image"/> container image.
/// </summary>
/// <param name="builder">The <see cref="IDistributedApplicationBuilder"/>.</param>
/// <param name="name">The name of the resource. This name will be used as the connection string name when referenced in a dependency.</param>
Expand Down
5 changes: 5 additions & 0 deletions src/Aspire.Hosting.Valkey/ValkeyContainerImageTags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ namespace Aspire.Hosting.Valkey;

internal static class ValkeyContainerImageTags
{
/// <summary>docker.io</summary>
public const string Registry = "docker.io";

/// <summary>valkey/valkey</summary>
public const string Image = "valkey/valkey";

/// <summary>8.0</summary>
public const string Tag = "8.0";
}