diff --git a/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Program.cs b/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Program.cs
index e8c431cc9e9..8990c0277d6 100644
--- a/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Program.cs
+++ b/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Program.cs
@@ -5,7 +5,8 @@
var builder = DistributedApplication.CreateBuilder(args);
-var cosmos = builder.AddAzureCosmosDB("cosmos").RunAsEmulator();
+var cosmos = builder.AddAzureCosmosDB("cosmos")
+ .RunAsPreviewEmulator();
var db = cosmos.AddCosmosDatabase("db");
var entries = db.AddContainer("entries", "/id", "staging-entries");
diff --git a/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBEmulatorResource.cs b/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBEmulatorResource.cs
index c61a30323ef..c2430e34b53 100644
--- a/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBEmulatorResource.cs
+++ b/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBEmulatorResource.cs
@@ -10,7 +10,7 @@ namespace Aspire.Hosting.Azure;
///
/// The inner resource used to store annotations.
public class AzureCosmosDBEmulatorResource(AzureCosmosDBResource innerResource)
- : ContainerResource(innerResource.Name), IResource
+ : ContainerResource(innerResource.Name), IResource, IResourceWithEnvironment
{
internal AzureCosmosDBResource InnerResource { get; } = innerResource ?? throw new ArgumentNullException(nameof(innerResource));
diff --git a/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs b/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs
index 1a622f91dfc..a968778981a 100644
--- a/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs
+++ b/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs
@@ -147,6 +147,9 @@ private static IResourceBuilder RunAsEmulator(this IResou
var emulatorSurrogate = new AzureCosmosDBEmulatorResource(builder.Resource);
var emulatorSurrogateBuilder = builder.ApplicationBuilder.CreateResourceBuilder(emulatorSurrogate);
+ emulatorSurrogateBuilder.WithOtlpExporter()
+ .WithEnvironment("ENABLE_OTLP_EXPORTER", "true");
+
// VNext cosmosdb sets a default CERT_SECRET environment variable for the default emulator certificate and we can't
// remove it, so we need to provide "some" secret value to avoid issues with our provided certificate. This simply sets the
// dev cert used by cosmos to have a stable passphrase. Users can override by calling `WithHttpsDeveloperCertificate` again