Skip to content

Commit bae6497

Browse files
IEvangelistJamesNKadegeostefannikoleiafscrome
authored
.NET Aspire content for 9.2 (#2870)
* Remove IsAspireHost bits. Fixes #2847 * New dashboard config to disable resource graph (#2874) * Fixes #2842 * Update configuration.md Co-authored-by: James Newton-King <[email protected]> --------- Co-authored-by: James Newton-King <[email protected]> * Position VS Code first * Add clarifying details about updates to `AddDatabase` APIs (#2878) * Contributes to #2789 * Added PostgreSQL and links to eventing * Quick edit pass * Apply suggestions from code review Co-authored-by: Andy (Steve) De George <[email protected]> --------- Co-authored-by: Andy (Steve) De George <[email protected]> * Adding GitHub Copilot prompts (#2896) * Initial prompts * Update prompts * Adding content for `WithHttpCommand` (#2875) * Initial setup * Rework HTTP command content with an example * Add images and more details. * Edit pass * Added playground sample * Update HTTP command content with updated source * Remove duplicated code snippet * Correct member over parameter * Fix name * Correct postgres connection command * Update kafka-integration.md (#2712) Change links von provectuslabs to Kafbat * Add role assignments with .NET Aspire (#2891) * Getting closer on adding roles details * Apply suggestions from code review Co-authored-by: Andy (Steve) De George <[email protected]> * Address feedback and update content * Add to TOC * Edit pass * Add link * Fix a few issues * Remove absolute URL --------- Co-authored-by: Andy (Steve) De George <[email protected]> * Breaking changes for .NET Aspire 9.2 (#2892) * Added breaking changes for 9.2, fixes #2888 and fixes #2889 * Correct TOC * Add clarifying type name * Fixes #2899 * Added new breaking changes docs * Remove link * Correct MD lint error/warnings * Bump bicep bits (#2930) * Update docs to use `EndpointProperty.HostAndPort` where appropriate (#2934) Fixes #2646 * Reorganize the order of the Azure storage content (#2937) * Fixes #2935 * Tweak table style * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> --------- Co-authored-by: Genevieve Warren <[email protected]> * Add content on customizing resource URLs (#2940) * Fixes #2936 * Correct TOC * Minor tweaks * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> * Apply suggestions from code review Co-authored-by: Damian Edwards <[email protected]> * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review --------- Co-authored-by: Genevieve Warren <[email protected]> Co-authored-by: Damian Edwards <[email protected]> * Add CosmosDB parent-child relationship bits. (#2912) * Add CosmosDB parent-child relationship bits. Part of #2907 * A few fixes * Update docs/database/azure-cosmos-db-integration.md Co-authored-by: Safia Abdalla <[email protected]> * Update docs/database/azure-cosmos-db-integration.md Co-authored-by: Safia Abdalla <[email protected]> * A few updates based on feedback * Add a few more bits * Add more details about the web pubsub. * Apply suggestions from code review Co-authored-by: Safia Abdalla <[email protected]> --------- Co-authored-by: Safia Abdalla <[email protected]> * Add new Azure PostgreSQL client integrations. (#2905) * Replace manual identity code with new package. Fixes #2883 * Add xref reminders. * Replace standard clients * Correct leading para * Apply suggestions from code review * Adjustment from peer reviews * Correct terminology * .NET Aspire 💜 Playwright (#2904) * WIP * Initial bits in place * Yeah, now we're cookin'! * OMG, I'm having too much fun! * Add a few more bits * Encapsulate selector. * Even more images automated, and better coverage. * More coverage... * Added more coverage. * More images and coverage. * A bit more clean up * Added a few more bits and updated. * Fixed link issue * Fix last issue * Tracing and structured log pages * Apply suggestions from code review * Update docs/fundamentals/dashboard/automation/aspire-dashboard/Aspire.Dashboard.ScreenCapture/README.md * Add "Configure Azure Container App environments" article (#3058) * Yuck, too rough of a draft but need to context switch. * Tweaks * Let's go, this fixes #2938 * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> --------- Co-authored-by: Genevieve Warren <[email protected]> * What's new in .NET Aspire 9.2 (#2877) * Add initial bits for #2869. What's new in .NET Aspire 9.2 * Add a few more what's new bits * Add dashboard config * Add initial details about HTTP commands * Apply suggestions from code review Co-authored-by: Andy (Steve) De George <[email protected]> * Edit pass * Add link to breaking changes * Removed MS-collected telemetry * Try toying with TOC * Expand product updates * Apply suggestions from code review Co-authored-by: Maddy Montaquila (Leger) <[email protected]> * Delete section * Update .NET Aspire 9.2 documentation * Update docs/whats-new/dotnet-aspire-9.2.md * Update connection string and deployment section * Added testing updates * Update docs/whats-new/dotnet-aspire-9.2.md Co-authored-by: James Newton-King <[email protected]> * Clean up * Minor updates * Apply suggestions from code review Co-authored-by: David Fowler <[email protected]> * Apply suggestions from code review Co-authored-by: David Fowler <[email protected]> * Apply suggestions from code review Co-authored-by: David Fowler <[email protected]> * Apply suggestions from code review Co-authored-by: David Fowler <[email protected]> * Add images * Final tweaks before release branch --------- Co-authored-by: Andy (Steve) De George <[email protected]> Co-authored-by: Maddy Montaquila (Leger) <[email protected]> Co-authored-by: David Fowler <[email protected]> Co-authored-by: Mitch Denny <[email protected]> Co-authored-by: James Newton-King <[email protected]> * Bump versions * nits (#3064) * Fix build issues * More fixes * Move things * Move even more things * Point to 9.2 * Fix bookmakrs --------- Co-authored-by: James Newton-King <[email protected]> Co-authored-by: Andy (Steve) De George <[email protected]> Co-authored-by: Stefan Nikolei <[email protected]> Co-authored-by: Alex Crome <[email protected]> Co-authored-by: Genevieve Warren <[email protected]> Co-authored-by: Damian Edwards <[email protected]> Co-authored-by: Safia Abdalla <[email protected]> Co-authored-by: Maddy Montaquila (Leger) <[email protected]> Co-authored-by: David Fowler <[email protected]> Co-authored-by: Mitch Denny <[email protected]>
1 parent f0150a0 commit bae6497

File tree

347 files changed

+68672
-980
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

347 files changed

+68672
-980
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
The following is a set of guidelines to follow when writing documentation for .NET Aspire. Please ensure that all documentation adheres to these guidelines:
2+
3+
## Voice and tone
4+
5+
Write for readers who may have a limited vocabulary or are not native English speakers. Use simple, clear language and avoid jargon whenever possible. If you must use technical terms, provide a brief explanation of what they mean.
6+
7+
- Use active voice
8+
- Use the second person (you, your) to address the reader directly
9+
10+
## Headings
11+
12+
Headings use sentence-style capitalization. Always capitalize the first word of a heading. Do not use gerunds (e.g., "Using" or "Creating") in heading.
13+
14+
## Text styling
15+
16+
Use _italics_ for files, folders, paths (for long items, split onto their own line), new terms.
17+
18+
Use **bold** for UI elements.
19+
20+
Use `code` for inline code, language keywords, NuGet package names, command-line commands, database table and column names, and URLs that you don't want to be clickable.
21+
22+
## Links
23+
24+
Strive to use relative links whenever possible. Use absolute links only when necessary. For example, if you are linking to a page on a different site, use an absolute link. When using absolute links, use the full URL (including the protocol) and remove the locale from the URL. Avoid HTTP links, always prefer HTTPS. Whenever providing additional resources, use the following format:
25+
26+
"For more information, see [link text](../relative/link/to/content.md)."
27+
28+
Never link to `https://learn.microsoft.com` or `https://learn.microsoft.com/en-us`, always remove these and instead use site relative links. For example, if the original link is `https://learn.microsoft.com/en-us/aspnet/core/mvc/overview`, it should be changed to `/aspnet/core/mvc/overview`.
29+
30+
## Things to avoid
31+
32+
- Avoid future tense: In some non-English languages the concept of future tense is not the same as English. Using future tense can make your documents harder to read.
33+
- Avoid passive voice: Passive voice can make your writing less clear and harder to read. Use active voice whenever possible.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Please rephrase the selected text to make it more concise and clear, while maintaining the original meaning. The rephrased text should strive to improve readability. Please ensure that the rephrased text is grammatically correct and flows well. Take obvious opportunities to improve structure, and emphasis of domain specific intent.
2+
3+
Please also always [adhere to our writing style](adhere-to-writing-style.prompt.md).

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ _dependentPackages/
3434
!/xml/System.IO.Log/
3535
!/xml/System.Net.Cache/
3636

37+
# Playwright dependencies
38+
**/*/playwright-deps
39+
3740
# Visual Studio Code
3841
.vscode/*
3942
!.vscode/extensions.json
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
3+
<Sdk Name="Aspire.AppHost.Sdk" Version="9.2.0" />
44

55
<PropertyGroup>
66
<OutputType>Exe</OutputType>
77
<TargetFramework>net9.0</TargetFramework>
88
<ImplicitUsings>enable</ImplicitUsings>
99
<Nullable>enable</Nullable>
10-
<IsAspireHost>true</IsAspireHost>
1110
<UserSecretsId>7b352f08-305b-4032-9a21-90deb02efc04</UserSecretsId>
1211
</PropertyGroup>
1312

@@ -17,8 +16,8 @@
1716
</ItemGroup>
1817

1918
<ItemGroup>
20-
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
21-
<PackageReference Include="Aspire.Hosting.Redis" Version="9.1.0" />
19+
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.2.0" />
20+
<PackageReference Include="Aspire.Hosting.Redis" Version="9.2.0" />
2221
</ItemGroup>
2322

2423
</Project>
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
3+
<Sdk Name="Aspire.AppHost.Sdk" Version="9.2.0" />
44

55
<PropertyGroup>
66
<OutputType>Exe</OutputType>
77
<TargetFramework>net9.0</TargetFramework>
88
<ImplicitUsings>enable</ImplicitUsings>
99
<Nullable>enable</Nullable>
10-
<IsAspireHost>true</IsAspireHost>
1110
<UserSecretsId>7b352f08-305b-4032-9a21-90deb02efc04</UserSecretsId>
1211
</PropertyGroup>
1312

@@ -17,8 +16,8 @@
1716
</ItemGroup>
1817

1918
<ItemGroup>
20-
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
21-
<PackageReference Include="Aspire.Hosting.Redis" Version="9.1.0" />
19+
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.2.0" />
20+
<PackageReference Include="Aspire.Hosting.Redis" Version="9.2.0" />
2221
</ItemGroup>
2322

2423
</Project>

docs/app-host/snippets/AspireApp/AspireApp.ServiceDefaults/AspireApp.ServiceDefaults.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<FrameworkReference Include="Microsoft.AspNetCore.App" />
1212

1313
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.4.0" />
14-
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.1.0" />
14+
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.2.0" />
1515
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.11.2" />
1616
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.11.2" />
1717
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.11.1" />

docs/app-host/snippets/AspireApp/AspireApp.Web/AspireApp.Web.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Aspire.StackExchange.Redis.OutputCaching" Version="9.1.0" />
14+
<PackageReference Include="Aspire.StackExchange.Redis.OutputCaching" Version="9.2.0" />
1515
</ItemGroup>
1616

1717
</Project>

docs/authentication/snippets/AspireApp/AspireApp.AppHost/AspireApp.AppHost.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
3+
<Sdk Name="Aspire.AppHost.Sdk" Version="9.2.0" />
44

55
<PropertyGroup>
66
<OutputType>Exe</OutputType>
77
<TargetFramework>net9.0</TargetFramework>
88
<ImplicitUsings>enable</ImplicitUsings>
99
<Nullable>enable</Nullable>
10-
<IsAspireHost>true</IsAspireHost>
1110
<UserSecretsId>10daccf5-26f1-4641-80b2-95f0357607cf</UserSecretsId>
1211
</PropertyGroup>
1312

@@ -17,7 +16,7 @@
1716
</ItemGroup>
1817

1918
<ItemGroup>
20-
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
19+
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.2.0" />
2120
<PackageReference Include="Aspire.Hosting.Keycloak" Version="9.1.0-preview.1.24113.4 />
2221
</ItemGroup>
2322

docs/authentication/snippets/AspireApp/AspireApp.ServiceDefaults/AspireApp.ServiceDefaults.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<FrameworkReference Include="Microsoft.AspNetCore.App" />
1212

1313
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.4.0" />
14-
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.1.0" />
14+
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.2.0" />
1515
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.11.2" />
1616
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.11.2" />
1717
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.11.1" />
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Configure Azure Container Apps environments
3+
description: Learn how to configure Azure Container Apps environments in .NET Aspire.
4+
ms.topic: how-to
5+
ms.date: 04/09/2025
6+
---
7+
8+
# Configure Azure Container Apps environments
9+
10+
It's easy to [publish resources as Azure Container Apps (ACA)](integrations-overview.md#publish-as-azure-container-app) using any of the supported APIs:
11+
12+
- <xref:Aspire.Hosting.AzureContainerAppProjectExtensions.PublishAsAzureContainerApp*?displayProperty=nameWithType>
13+
- <xref:Aspire.Hosting.AzureContainerAppContainerExtensions.PublishAsAzureContainerApp*?displayProperty=nameWithType>
14+
- <xref:Aspire.Hosting.AzureContainerAppExecutableExtensions.PublishAsAzureContainerApp*?displayProperty=nameWithType>
15+
16+
These APIs automatically create a default ACA environment when you publish your app. While this default setup works well for most scenarios, you might need to customize the ACA environment to meet specific requirements. To achieve this, use the `AddAzureContainerAppEnvironment` method.
17+
18+
The [.NET Aspire app host](../fundamentals/app-host-overview.md) simplifies infrastructure provisioning by generating code to create Azure resources for your applications. This approach enables you to model and configure deployment-related aspects directly in C#, reducing the need to rely on tools like Bicep. These aspects include configuring ACA environments, which provide a serverless platform for running containerized applications.
19+
20+
By using the <xref:Azure.Provisioning> APIs (explained in [Infrastructure as code](integrations-overview.md#infrastructure-as-code)), you can configure and customize ACA environments along with related resources, such as container registries and file share volumes. Any available deployment setting can be configured. For more information on the available settings, see [Microsoft.App managedEnvironments](/azure/templates/microsoft.app/managedenvironments).
21+
22+
This article guides you through the process of tailoring ACA environments for your .NET Aspire solutions.
23+
24+
## Add an ACA environment
25+
26+
<!-- TODO: Add xref to AddAzureContainerAppEnvironment when available -->
27+
28+
The `AzureContainerAppEnvironmentResource` type models an ACA environment resource. When you call the `AddAzureContainerAppEnvironment` method, it creates an instance of this type (wrapped in the <xref:Aspire.Hosting.ApplicationModel.IResourceBuilder`1>).
29+
30+
:::code language="csharp" source="snippets/aca/AspireAca.AppHost/AspireApp.AppHost/Program.cs":::
31+
32+
By default, the calling this API to add an ACA environment generates the following provisioning Bicep module:
33+
34+
:::code language="bicep" source="snippets/aca/AspireAca.AppHost/AspireApp.AppHost/aca-env.module.bicep":::
35+
36+
This module configures:
37+
38+
- A user-assigned managed identity for the ACA environment.
39+
- An Azure Container Registry (ACR) for the ACA environment.
40+
- A Log Analytics workspace for the ACA environment.
41+
- An Azure Container Apps environment.
42+
- The [.NET Aspire dashboard](../fundamentals/dashboard/overview.md) for the ACA environment.
43+
- A role assignment for the user principal ID to the ACA environment.
44+
- Various outputs for the ACA environment.
45+
46+
Using the `acaEnv` variable, you can chain a call to the <xref:Aspire.Hosting.AzureProvisioningResourceExtensions.ConfigureInfrastructure*> API to customize the ACA environment to your liking. For more information, see [Configure infrastructure](integrations-overview.md#configure-infrastructure).
47+
48+
## Handle naming conventions
49+
50+
<!-- TODO: Add xref to WithAzdResourceNaming when available -->
51+
52+
By default, `AddAzureContainerAppEnvironment` uses a different Azure resource naming scheme than the [Azure Developer CLI (`azd`)](/azure/developer/azure-developer-cli/). If you're upgrading an existing deployment that previously used `azd`, you might see duplicate Azure resources. To avoid this issue, call the `WithAzdResourceNaming` method to revert to the naming convention used by `azd`:
53+
54+
```csharp
55+
var builder = DistributionApplicationBuilder.Create(args);
56+
57+
var acaEnv = builder.AddAzureContainerAppEnvironment("aca-env")
58+
.WithAzdResourceNaming();
59+
60+
// Omitted for brevity...
61+
62+
builder.Build().Run();
63+
```
64+
65+
Calling this API ensures your existing Azure resources remain consistent and prevents duplication.
66+
67+
## See also
68+
69+
- [.NET Aspire Azure integrations overview](integrations-overview.md)
70+
- [Azure Container Apps overview](/azure/container-apps/overview)

0 commit comments

Comments
 (0)