Skip to content

Update Azure provisioning CDN and Kusto to beta.3 - #20188

Draft
Jose Perez Rodriguez (joperezr) wants to merge 1 commit into
mainfrom
joperezr-azure-provisioning-generator-upgrades
Draft

Jose Perez Rodriguez (joperezr) wants to merge 1 commit into
mainfrom
joperezr-azure-provisioning-generator-upgrades

Conversation

@joperezr

Copy link
Copy Markdown
Member

Description

Split the Azure provisioning upgrades that were held back from #20046 into an independently reviewable rollback path. This updates only Azure.Provisioning.Cdn and Azure.Provisioning.Kusto to 1.0.0-beta.3, plus the required central dependency floors and affected provisioning snapshots.

The customer-breaking part of the CDN update is the beta.3 TypeSpec generator regression: it drops the beta.2 resource-name templates and falls back to shorter 24-character limits for Front Door profiles, endpoints, origin groups, origins, and routes. This PR explicitly preserves the beta.2 Azure names in Aspire.Hosting.Azure.FrontDoor so existing deployments do not rename or replace those resources when consumers take the package update.

The Kusto update still changes generated provisioning output because Azure.Provisioning.Kusto beta.3 removes older resource API versions and now emits Microsoft.Kusto/*@2025-02-14. This PR preserves the previous cluster naming pattern (kusto${uniqueString(...)} instead of the new kusto-${...}) so upgrades stay in-place where the newer API version is supported, while surfacing the remaining deployment compatibility break explicitly for review.

Breaking changes

Aspire.Hosting.Azure.Kusto publish output now emits Microsoft.Kusto/clusters, databases, and principalAssignments at API version 2025-02-14. Users deploying generated artifacts into environments, policies, or clouds that only allow 2024-04-13 must remain on the beta.2 package line until upstream compatibility is available, or roll back this PR's package changes. Front Door resource renames were intentionally prevented in this PR, so the remaining break is the Kusto API-version floor rather than resource replacement.

Validation

  • dotnet test .\tests\Aspire.Hosting.Azure.Tests\Aspire.Hosting.Azure.Tests.csproj --no-launch-profile -- --filter-method "*.AddAzureFrontDoorWithSingleOriginGeneratesBicep" --filter-method "*.AddAzureFrontDoorWithMultipleOriginsGeneratesBicep" --filter-method "*.AddAzureKustoCluster" --filter-method "*.AddAsExistingResource_RespectsExistingAzureResourceAnnotation_ForAzureKustoClusterResource" --filter-method "*.KustoSupport" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
  • dotnet test .\tests\Aspire.Hosting.Azure.Kusto.Tests\Aspire.Hosting.Azure.Kusto.Tests.csproj --no-launch-profile -- --filter-not-class "*.KustoFunctionalTests" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"
  • dotnet test .\tests\Aspire.Hosting.Azure.Kusto.Tests\Aspire.Hosting.Azure.Kusto.Tests.csproj --no-launch-profile -- --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true" fails in this environment because Docker is unhealthy (failed to connect to the docker API at npipe:////./pipe/dockerDesktopLinuxEngine), so I did not claim emulator validation.

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

Preserve Front Door and Kusto resource names while updating Azure.Provisioning.Cdn and Azure.Provisioning.Kusto to beta.3, and refresh the affected provisioning snapshots for the new Kusto API version.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

🚀 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/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20188

Or

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

@github-actions github-actions Bot added the area-integrations Issues pertaining to Aspire Integrations packages label Sep 16, 2026
@joperezr Jose Perez Rodriguez (joperezr) added the breaking-change Issue or PR that represents a breaking API or functional change over a prerelease. label Sep 16, 2026
@aspire-repo-bot
aspire-repo-bot Bot requested a balanced review from Copilot September 16, 2026 20:57
@github-actions

Copy link
Copy Markdown
Contributor

Tests selector

Selects the full PR test matrix + all PR-gated jobs (ALL) — a rule matching 'Directory.Packages.props' selects ALL


Selection computed for commit de98afc.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

Naming compatibility and the intentional Kusto API-version change have focused snapshot coverage; only a non-blocking tracking-comment improvement remains.

Review effort: Balanced (auto)
Findings: 1 Low severity

Note

Copilot is running an experiment and ran this review at Balanced.

Open (1)
What changed in this PR

Updates CDN and Kusto provisioning dependencies while preserving existing Azure resource names.

Changes:

  • Upgrades required Azure provisioning packages.
  • Preserves legacy Front Door and Kusto naming.
  • Updates Bicep snapshots for Kusto API 2025-02-14.
File Description
Directory.Packages.props Updates provisioning dependency versions.
src/​Aspire.Hosting.Azure.FrontDoor/​AzureFrontDoorExtensions.cs Preserves Front Door resource names.
src/​Aspire.Hosting.Azure.Kusto/​AzureKustoBuilderExtensions.cs Preserves Kusto cluster names.
tests/​Aspire.Hosting.Azure.Tests/​Snapshots/​AzureFrontDoorTests.AddAzureFrontDoorWithSingleOriginGeneratesBicep.verified.bicep Updates single-origin output.
tests/​Aspire.Hosting.Azure.Tests/​Snapshots/​AzureFrontDoorTests.AddAzureFrontDoorWithMultipleOriginsGeneratesBicep.verified.bicep Updates multi-origin output.
tests/​Aspire.Hosting.Azure.Tests/​Snapshots/​AzureKustoExtensionsTests.AddAzureKustoCluster#00.verified.bicep Updates new-cluster output.
tests/​Aspire.Hosting.Azure.Tests/​Snapshots/​AzureKustoExtensionsTests.AddAzureKustoCluster#01.verified.bicep Updates role-assignment output.
tests/​Aspire.Hosting.Azure.Tests/​Snapshots/​AzureKustoExtensionsTests.AddAsExistingResource_RespectsExistingAzureResourceAnnotation_ForAzureKustoClusterResource.verified.bicep Updates existing-cluster output.
tests/​Aspire.Hosting.Azure.Tests/​Snapshots/​RoleAssignmentTests.KustoSupport.verified.bicep Updates Kusto RBAC output.

Comment on lines +23 to +25
// Azure.Provisioning.Cdn beta.3 regressed the beta.2 name templates and length limits for Front Door resources.
// Preserve the beta.2 Azure names here so dependency upgrades do not rename deployed profiles, endpoints,
// origin groups, origins, or routes and trigger avoidable infrastructure replacement.
@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

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 breaking-change Issue or PR that represents a breaking API or functional change over a prerelease.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants