Azure / Azure/azure-dev

[Aspire extension] Phase 7: Migrate legacy built-in Aspire projects

Open
#9,480 0 comments 0 reactions 1 assignee Claimed by @vhvb1989 View on GitHub
area/aspire enhancement
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

Parent epic: #9479

Depends on the Aspire extension becoming the default for new projects.

## Objective

Move existing `host: containerapp` plus `language: dotnet` Aspire projects onto the extension without breaking old projects or silently rewriting configuration.

## Scope

- Continue recognizing the legacy marker as Aspire only when the referenced project is an AppHost.
- Prefer the extension for legacy projects once the installed version meets compatibility requirements.
- Retain built-in fallback during the migration window.
- Never switch implementations after an operation has started.
- Add an explicit migration command, for example:

```console
azd aspire migrate
```

- Update `azure.yaml` to `host: aspire`, remove the obsolete language marker, configure the Aspire provisioning provider, and add extension requirements where needed.
- Provide preview/confirmation and preserve comments and unrelated configuration where possible.
- Add regression coverage for old templates, generated projects, CI pipelines, App Service, and Container Apps.
- Publish migration and rollback guidance.

## Exit criteria

- Legacy projects run successfully through the extension without mandatory edits.
- Explicit migration produces the new canonical configuration.
- Built-in fallback usage and extension migration adoption can be measured safely.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.