Azure / Azure/azure-dev

[Aspire extension] Phase 1: Validate Aspire CLI integration contracts

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

Description

Parent epic: #9479

Depends on the baseline established in Phase 0.

## Objective

Validate the Aspire CLI as the supported integration boundary for the `microsoft.azd.aspire` extension.

## Investigations

- Detect AppHosts with `aspire ls --format json` and `aspire.config.json`.
- Select AppHosts deterministically with `--apphost`.
- Exercise `publish`, `deploy`, `destroy`, `do`, `describe`, and `doctor` in non-interactive mode.
- Evaluate JSON/NDJSON output stability, progress streaming, exit codes, structured failures, cancellation, and timeouts.
- Determine minimum Aspire CLI versions and capability detection.
- Validate C#, TypeScript/JavaScript, and Python AppHosts.
- Determine how subscription, tenant, location, azd environment values, AppHost parameters, and secrets are supplied.
- Determine whether Aspire pipeline steps can map to separate azd package, provision, and deploy operations.
- Determine how generated infrastructure, endpoints, outputs, and deployment state can be exported or queried.
- Evaluate installation routes, cross-platform behavior, licensing, and telemetry interaction.

## Constraints

Do not build against internal Aspire JSON-RPC, ATS, DCP, or auxiliary backchannel protocols unless the Aspire team establishes them as supported public contracts.

## Deliverables

- A written integration contract and command mapping.
- A compatibility matrix by Aspire CLI version and AppHost language.
- Prototypes proving detection and at least one end-to-end deployment.
- Documented blockers requiring coordination with the Aspire team.

## Exit criteria

- We can decide which azd provider operation invokes which Aspire CLI operation.
- CI/no-prompt behavior and error handling are sufficiently defined to begin implementation.

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.