microsoft / microsoft/aspire

Add progress as a first class state for resources (indeterminate and percentage-based progress support)

Open
#10,366 6 comments 3 reactions 0 assignees View on GitHub
area-app-model area-dashboard
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

- [x] I have searched the existing issues

**Is your feature request related to a problem? Please describe the problem.**
We would like to add support for representing progress as a first class state for resources. Currently, there is no clear way to indicate that a resource is undergoing some operation when the duration or completion percentage is unknown, or when partial progress is known (e.g., a file download).

*Today, two resources implement progress status updates as human-readable text:*

1. **Ollama in the community toolkit** ([OllamaUtilities.cs](https://github.com/CommunityToolkit/Aspire/blob/1df114f181f83540e0e50cfb1b12c82d1ab7d034/src/CommunityToolkit.Aspire.Hosting.Ollama/OllamaUtilities.cs))
2. **AI Foundry Local** ([AzureAIFoundryExtensions.cs](https://github.com/dotnet/aspire/blob/e026c5d5dc631a1213e644582d6e466f75ec45c6/src/Aspire.Hosting.Azure.AIFoundry/AzureAIFoundryExtensions.cs))

Both resources update the status by publishing notification strings like `"Downloading {model} {percentage}%"`, rather than using a structured progress field. This is a workaround due to the absence of first-class progress/percentage support in the resource state model.

**Describe the solution you'd like**
Add new states to resources that support both indeterminate progress (something is happening but we don't know how long it will take) and percentage-based progress (we know the current percent complete, e.g., model or file download). This would help consumers of the resource understand that work is in progress and, when possible, see how much is left to complete.

**Additional context**
This issue is to track the discussion and implementation of these new resource states (indeterminate and percentage-based progress).

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.