Skip to content

Conversation

@ShilpiRach
Copy link
Contributor

@ShilpiRach ShilpiRach commented Sep 26, 2025

Description

This PR adds support for Aspire dashboard for Azure App Service Environment. It includes the following changes:

  • Enabled PerSiteScaling for App Service Plan: This change is to support dashboard (expected to run on only 1 worker) while allowing other app services to scale normally.
  • Aspire dashboard: Added a utility to create dashboard web app with kind aspiredashboard and LinuxFxVersion = ASPIREDASHBOARD with required environment variables
    • Set AuthMode to Unsecured as security will be managed by App Service platform.
    • Suppress unsecured message
    • Specify the ports for HTTP and GRPC for Aspire dashboard - this is needed to support the GRPC traffic.
    • List of allowed managed identities that can send telemetry data to dashboard (ALLOWED_MANAGED_IDENTITIES)
    • Managed identity that would be used by resource server to fetch resource information for the resource group (AZURE_CLIENT_ID)
    • Ensure that dashboard is always up.
  • Managed identity for Aspire Dashboard: Creating a managed identity with reader and website contributor access tox
    • fetch information about all the resources in the resource group.
    • allow start / stop / restart operations on app services or fetch environment variables
  • Made dashboard an optional component, enabled by default.
  • When dashboard is enabled, the dashboard specific environment variables are added to all other app services.
  • Added / fixed tests to reflect the changed bicep templates with and without dashboard

Fixes # (issue)

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No
  • Does the change require an update in our Aspire docs?

@github-actions
Copy link
Contributor

github-actions bot commented Sep 26, 2025

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 11671

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 11671"

@github-actions github-actions bot added the area-integrations Issues pertaining to Aspire Integrations packages label Sep 26, 2025
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Sep 26, 2025
@davidfowl
Copy link
Member

I suggest we also do something similar to this #9600

@ShilpiRach
Copy link
Contributor Author

I suggest we also do something similar to this #9600

Done. Made dashboard optional (enabled for default)

@ShilpiRach ShilpiRach marked this pull request as ready for review October 3, 2025 13:51
@ShilpiRach
Copy link
Contributor Author

@dotnet-policy-service agree company="Microsoft"

ShilpiRach and others added 4 commits October 3, 2025 10:57
…Utility.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…Utility.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
davidfowl and others added 5 commits October 4, 2025 13:27
…Utility.cs

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
…ngle resource group.

- Website Contributor role is assigned for each web app in an environment instead of at resource group level
- Added environment name to construct unique dashboard names
- Add appsetting for ASPIRE_ENVIRONMENT_NAME to identify web apps and dashboard specific to an environment
@davidfowl davidfowl merged commit 46c2529 into dotnet:main Oct 7, 2025
302 checks passed
@dotnet-policy-service dotnet-policy-service bot added this to the 13.0 milestone Oct 7, 2025
@davidfowl
Copy link
Member

Tested deploying to region where dashboard works and doesn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-integrations Issues pertaining to Aspire Integrations packages community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants