diff --git a/src/frontend/config/sidebar/docs.topics.ts b/src/frontend/config/sidebar/docs.topics.ts index 45fd48012..419aa2e62 100644 --- a/src/frontend/config/sidebar/docs.topics.ts +++ b/src/frontend/config/sidebar/docs.topics.ts @@ -867,6 +867,27 @@ export const docsTopics: StarlightSidebarTopicsUserConfig = { ja: 'コンテナー レジストリの構成', }, }, + { + label: 'Hot Reload and watch', + slug: 'app-host/hot-reload-and-watch', + translations: { + da: 'Hot Reload and watch', + de: 'Hot Reload and watch', + en: 'Hot Reload and watch', + es: 'Hot Reload and watch', + fr: 'Hot Reload and watch', + hi: 'Hot Reload and watch', + id: 'Hot Reload and watch', + it: 'Hot Reload and watch', + ja: 'Hot Reload and watch', + ko: 'Hot Reload and watch', + 'pt-BR': 'Hot Reload and watch', + ru: 'Hot Reload and watch', + tr: 'Hot Reload and watch', + uk: 'Hot Reload and watch', + 'zh-CN': 'Hot Reload and watch', + }, + }, { label: 'Eventing', slug: 'app-host/eventing', @@ -896,10 +917,10 @@ export const docsTopics: StarlightSidebarTopicsUserConfig = { }, }, { - label: 'Container files', - slug: 'app-host/container-files', - }, - { + label: 'Container files', + slug: 'app-host/container-files', + }, + { label: 'Executable resources', slug: 'app-host/executable-resources', translations: { diff --git a/src/frontend/scripts/check-data-files.mjs b/src/frontend/scripts/check-data-files.mjs index 8965ecfaf..b01b2b3b8 100644 --- a/src/frontend/scripts/check-data-files.mjs +++ b/src/frontend/scripts/check-data-files.mjs @@ -21,7 +21,7 @@ function checkDataFiles() { console.log('\n🔄 Running update:all to generate missing files...\n'); try { - execSync('npm run update:all', { stdio: 'inherit' }); + execSync('pnpm run update:all', { stdio: 'inherit' }); console.log('\n✅ Data files generated successfully'); } catch (error) { const message = error instanceof Error ? error.message : 'Unknown error'; diff --git a/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx b/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx new file mode 100644 index 000000000..cee1742e2 --- /dev/null +++ b/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx @@ -0,0 +1,193 @@ +--- +title: Hot Reload and watch +description: Learn how hot reload works in Aspire. +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import { Kbd } from 'starlight-kbd/components'; + +Aspire has two levels of watch behavior: + +1. **AppHost watch** - watches the AppHost itself so changes to the application model restart the AppHost-managed application. +2. **Resource watch and hot reload** - depend on the application or framework backing each resource. + +Aspire's CLI watch support is centered on the AppHost. Aspire supports two AppHost languages, C# and TypeScript, and `defaultWatchEnabled` applies to the AppHost-managed application regardless of which AppHost language you use. + +When watch mode is enabled, Aspire owns the file-watching loop for the AppHost-managed application. File changes cause Aspire to restart the application topology so the updated AppHost model and resources are applied. + +Aspire watch mode is the recommended CLI workflow when you want hot reload-like behavior for AppHost changes. It is restart-based: Aspire restarts the AppHost-managed application after changes instead of applying runtime-specific hot reload semantics inside every resource process. + +## Default Aspire behavior + +By default, `aspire run` and `aspire start` start the Aspire application once. They don't watch the AppHost or resource source files. + +After you change AppHost code, restart the Aspire application manually: + +- For `aspire run`, stop the process with , and then run `aspire run` again. +- For `aspire start`, run `aspire start` again. The command stops the previous detached instance and starts a new one. + +## Enable default watch mode + +Aspire includes an opt-in `defaultWatchEnabled` feature flag. When enabled, Aspire uses watch mode by default and automatically restarts the Aspire application after supported AppHost or resource file changes: + +```bash title="Aspire CLI" +aspire config set features.defaultWatchEnabled true +``` + +To enable watch mode for every Aspire project on your machine, set the value globally: + +```bash title="Aspire CLI" +aspire config set features.defaultWatchEnabled true --global +``` + +To see the current value and available feature flags, run: + +```bash title="Aspire CLI" +aspire config list --all +``` + +Watch mode is useful when you want Aspire to restart the AppHost-managed application for you after AppHost changes. It supports both C# and TypeScript AppHosts and is a restart-based workflow, not the same experience as runtime-specific or IDE-specific hot reload. + +## AppHost language guidance + + + + +For a C# AppHost, `defaultWatchEnabled` watches the AppHost project. When AppHost code changes, Aspire restarts the AppHost-managed application so the updated model is applied. + +Today, C# project resources are also controlled by this setting. That means changes to C# project resources can trigger Aspire to restart the AppHost-managed application too. + +Use this workflow when changes affect: + +- The AppHost model in `AppHost.cs`. +- C# project resources that are part of the AppHost. +- Resource configuration, endpoints, parameters, or integration setup. +- Multiple services that need to be restarted together under Aspire orchestration. + +```bash title="Aspire CLI" +aspire config set features.defaultWatchEnabled true +aspire run +``` + + + + +For a TypeScript AppHost, `defaultWatchEnabled` watches the AppHost. When AppHost code changes, Aspire restarts the AppHost-managed application so the updated model is applied. + +TypeScript AppHost watch doesn't automatically provide hot reload for every resource in the application. Use resource-specific watch, reload, restart, or rebuild workflows for changes inside individual resources. + +Use this workflow when changes affect: + +- The AppHost model in `apphost.ts`. +- Resource configuration, endpoints, parameters, or integration setup. +- Multiple services that need to be restarted together under Aspire orchestration. + +```bash title="Aspire CLI" +aspire config set features.defaultWatchEnabled true +aspire run +``` + + + + +## Hot reload for Aspire resources + +AppHost watch and resource hot reload are separate concerns. The AppHost describes and starts the application topology, but each resource is backed by a framework or runtime with its own development loop. + +In general, keep the AppHost running while you work on individual resources. Don't stop and restart the AppHost just because one resource changed. If a resource needs to be restarted or rebuilt, do that for the individual resource from the Aspire CLI or the Aspire Dashboard. + +Use the `aspire resource` command to control individual resources from the CLI: + +```bash title="Aspire CLI" +aspire resource stop +aspire resource start +``` + +For C# project resources, rebuild the individual resource when the project needs to be rebuilt: + +```bash title="Aspire CLI" +aspire resource rebuild +``` + + + + +`dotnet watch` natively supports C# Aspire AppHosts and transitively watches .NET projects in the application: + +- Changes to the AppHost restart the AppHost. +- Changes to an individual .NET project, or to one of its dependencies, restart that project. +- Rude edits restart the application. + +Run `dotnet watch` against the AppHost project when you want the .NET SDK's watch loop for the AppHost and its C# projects: + +```bash title=".NET CLI" +dotnet watch --project './src/MyApp.AppHost/MyApp.AppHost.csproj' +``` + +:::note[Important] +This experience has some quirks today. Some changes are applied but can still require an explicit restart, and it isn't always easy to tell when that happened. If you don't observe an expected change, restart the resource with `aspire resource stop` and `aspire resource start`, or rebuild a C# project resource with `aspire resource rebuild`. +::: + +When you use Aspire watch mode instead, C# project resources are special today: `defaultWatchEnabled` controls both the C# AppHost and C# project resources. + + + + +Vite resources use Vite's development server behavior. Vite can provide browser refresh and Hot Module Replacement for the frontend application, but that behavior is separate from AppHost watch. + +Use Aspire watch when changes affect the AppHost model. Use the Vite development loop when changes affect the frontend application and you want Vite's browser refresh or Hot Module Replacement behavior. + +If a Vite resource needs a restart, restart the Vite resource from the Aspire CLI or dashboard instead of restarting the AppHost. + + + + +Other Aspire resources follow the watch, reload, or restart behavior of the runtime or framework that backs the resource. For example, a container resource, executable resource, or framework-specific resource might not support hot reload at all, or it might require its own watch command. + +Use Aspire watch when the AppHost model should be re-evaluated. Use the resource's native development command when you want the tightest inner loop for that resource. If the resource needs to be restarted or rebuilt, restart or rebuild that individual resource from the Aspire CLI or dashboard. + + + + +## Recommended workflow + +Use these workflows based on what you're editing: + +| Goal | Recommended command | +| ------------------------------------------------------- | ------------------------------------------------------------------------------------------ | +| Run the whole distributed app once | `aspire run` | +| Run the whole distributed app in the background | `aspire start` | +| Watch a C# or TypeScript AppHost from the CLI | `aspire config set features.defaultWatchEnabled true`, then `aspire run` or `aspire start` | +| Watch C# project resources through Aspire | `aspire config set features.defaultWatchEnabled true`, then `aspire run` or `aspire start` | +| Restart one resource | `aspire resource stop`, then `aspire resource start` | +| Rebuild one C# project resource | `aspire resource rebuild` | +| Use a runtime-specific hot reload loop for one resource | The resource's native watch, reload, or development-server command | + +Aspire CLI doesn't currently provide a single hot reload command that applies every runtime's hot reload semantics across an AppHost-managed distributed application. Aspire default watch supports both AppHost languages by restarting the AppHost-managed application after AppHost changes. C# project resources are also controlled by this setting today. For other resources, keep the AppHost running and use the resource's framework, runtime, CLI action, or dashboard action for resource-specific reloads, restarts, and rebuilds. + +## IDE hot reload and debugging + +Visual Studio, Visual Studio Code, and JetBrains Rider provide their own hot reload and debugging experiences. When you run the AppHost under a debugger in one of these IDEs, Aspire delegates debugging and IDE-managed hot reload behavior to that IDE. This doesn't integrate with or overlap Aspire's CLI restart, rebuild, or watch behavior. + +:::note[Important] +Use an IDE workflow when you want the IDE to manage debugging or hot reload for supported resources. Use Aspire CLI and dashboard actions when you want Aspire to restart, rebuild, or watch the AppHost-managed application and its resources. +::: + +### Visual Studio Code + +Use the Aspire extension for Visual Studio Code when you want VS Code to start the AppHost, attach debuggers, and manage supported resource debugging experiences. VS Code hot reload or framework-specific refresh behavior still belongs to the debugger or framework backing the resource, not to Aspire restart, rebuild, or watch behavior. + +### Visual Studio + +Use Visual Studio when you want its built-in debugging and hot reload experience for supported resources. Visual Studio can run and debug Aspire apps, but IDE hot reload is still separate from Aspire restart, rebuild, and watch behavior. + +### JetBrains Rider + +Use JetBrains Rider when you want Rider's debugging and hot reload experience for supported resources. Rider's IDE-managed hot reload behavior is separate from Aspire restart, rebuild, and watch behavior. + +## See also + +- [`aspire run`](/reference/cli/commands/aspire-run/) +- [`aspire start`](/reference/cli/commands/aspire-start/) +- [`aspire config set`](/reference/cli/commands/aspire-config-set/) +- [Aspire VS Code extension](/get-started/aspire-vscode-extension/) diff --git a/src/frontend/src/content/docs/dashboard/index.mdx b/src/frontend/src/content/docs/dashboard/index.mdx index 3058400f0..52a39e495 100644 --- a/src/frontend/src/content/docs/dashboard/index.mdx +++ b/src/frontend/src/content/docs/dashboard/index.mdx @@ -17,7 +17,6 @@ import FeatureShowcase from '@components/FeatureShowcase.astro'; import ImageShowcase from '@components/ImageShowcase.astro'; import CapabilityGrid from '@components/CapabilityGrid.astro'; import CTABanner from '@components/CTABanner.astro'; - import OsAwareTabs from '@components/OsAwareTabs.astro'; import projectsImage from '@assets/dashboard/explore/resources-filtered-containers.png'; @@ -74,7 +73,15 @@ The Aspire Dashboard is your command center during development. Powered by [Open ## Run the dashboard standalone -The dashboard starts automatically with your Aspire app, but it can also run standalone as a Docker container to monitor any application that sends OpenTelemetry data. Start it with a single command: +The dashboard starts automatically with your Aspire app, but it can also run standalone to monitor any application that sends OpenTelemetry data. + +Install the Aspire CLI, then start the dashboard: + +```bash title="Aspire CLI" +aspire dashboard run +``` + +Or run the same standalone dashboard from its container image:
@@ -95,7 +102,7 @@ docker run --rm -it -p 18888:18888 -p 4317:18889 -p 4318:18890 -d --name aspire-
-Navigate to `http://localhost:18888` to open the dashboard, and point your apps' OTLP exporter to `http://localhost:4317`. For more details, see the [standalone dashboard guide](/dashboard/standalone/). +Open the dashboard URL, then point your apps' OTLP exporter to `http://localhost:4317`. For prerequisites, login details, and additional options, see the [standalone dashboard guide](/dashboard/standalone/). ## AI-powered debugging @@ -151,7 +158,7 @@ Navigate to `http://localhost:18888` to open the dashboard, and point your apps' icon: 'laptop', title: 'Standalone mode', description: - 'Use the dashboard independently as a Docker container to monitor any application that sends OpenTelemetry data.', + 'Use the dashboard independently to monitor any application that sends OpenTelemetry data.', href: '/dashboard/standalone/', }, ]} diff --git a/src/frontend/src/content/docs/dashboard/overview.mdx b/src/frontend/src/content/docs/dashboard/overview.mdx index 580ba2347..c118fff8f 100644 --- a/src/frontend/src/content/docs/dashboard/overview.mdx +++ b/src/frontend/src/content/docs/dashboard/overview.mdx @@ -4,7 +4,6 @@ description: Overview of Aspire dashboard and getting started. --- import { Image } from 'astro:assets'; -import OsAwareTabs from '@components/OsAwareTabs.astro'; import ThemeImage from '@components/ThemeImage.astro'; import projectsImage from '@assets/dashboard/explore/projects.png'; import architectureDiagramDark from '@assets/dashboard/architecture-diagram-dark.svg'; @@ -31,36 +30,7 @@ For more information about using the dashboard during Aspire development, see [E ## Standalone mode -The Aspire dashboard is also shipped as a Docker image and can be used standalone, without the rest of Aspire. The standalone dashboard provides a great UI for viewing telemetry and can be used by any application. - - -
- -```bash -docker run --rm -it -p 18888:18888 -p 4317:18889 -p 4318:18890 -d --name aspire-dashboard \ - mcr.microsoft.com/dotnet/aspire-dashboard:latest -``` - -
-
- -```powershell -docker run --rm -it -p 18888:18888 -p 4317:18889 -p 4318:18890 -d --name aspire-dashboard ` - mcr.microsoft.com/dotnet/aspire-dashboard:latest -``` - -
-
- -The preceding Docker command: - -- Starts a container from the `mcr.microsoft.com/dotnet/aspire-dashboard:latest` image. -- The container instance exposing three ports: - - Maps the dashboard's port `18888` to the host's port `18888`. Port `18888` has the dashboard UI. Navigate to `http://localhost:18888` in the browser to view the dashboard. - - Maps the dashboard's OTLP/gRPC port `18889` to the host's port `4317`. Port `4317` receives OpenTelemetry data from apps using [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc). - - Maps the dashboard's OTLP/HTTP port `18890` to the host's port `4318`. Port `4318` receives OpenTelemetry data from apps using [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp). - -For more information, see the [Standalone Aspire dashboard](/dashboard/standalone/). +The Aspire dashboard can run standalone, without the rest of Aspire. The standalone dashboard provides a great UI for viewing telemetry and can be used by any application that sends OpenTelemetry data. You can start it with the Aspire CLI or run it from the standalone container image. For more information, see the [Standalone Aspire dashboard](/dashboard/standalone/). ## Configuration diff --git a/src/frontend/src/content/docs/dashboard/standalone-for-nodejs.mdx b/src/frontend/src/content/docs/dashboard/standalone-for-nodejs.mdx index 8a9e12c4a..255c4f66f 100644 --- a/src/frontend/src/content/docs/dashboard/standalone-for-nodejs.mdx +++ b/src/frontend/src/content/docs/dashboard/standalone-for-nodejs.mdx @@ -3,10 +3,9 @@ title: Use the Aspire dashboard with Node.js apps description: How to use the Aspire Dashboard in a Node.js application. --- -import { Aside, Steps } from '@astrojs/starlight/components'; -import OsAwareTabs from '@components/OsAwareTabs.astro'; +import { Steps } from '@astrojs/starlight/components'; -The [Aspire dashboard](/dashboard/overview/) provides a great user experience for viewing telemetry, and is available as a standalone container image that can be used with any OpenTelemetry-enabled app. In this article, you'll learn how to: +The [Aspire dashboard](/dashboard/overview/) provides a great user experience for viewing telemetry. You can run it standalone with the [Aspire CLI](/reference/cli/overview/) or the standalone dashboard container image for any OpenTelemetry-enabled app. In this article, you'll learn how to: - Start the Aspire dashboard in standalone mode. - Use the Aspire dashboard with a Node.js app. @@ -15,8 +14,7 @@ The [Aspire dashboard](/dashboard/overview/) provides a great user experience fo To complete this tutorial, you need the following: -- [Container runtime](/get-started/prerequisites/#install-an-oci-compliant-container-runtime). - - You can use an alternative container runtime, but the commands in this article are for Docker. +- A running standalone dashboard. For dashboard prerequisites and startup options, see [Standalone Aspire dashboard](/dashboard/standalone/#start-the-dashboard). - [Node.js 18 or higher](https://nodejs.org/en/download/package-manager) locally installed. ## Create a sample application @@ -202,28 +200,7 @@ Now let's add OpenTelemetry instrumentation to send telemetry data to the Aspire ## Start the Aspire dashboard -To start the Aspire dashboard in standalone mode, run the following Docker command: - - -
- -```bash -docker run --rm -it -p 18888:18888 -p 4317:18889 --name aspire-dashboard \ - mcr.microsoft.com/dotnet/aspire-dashboard:latest -``` - -
-
- -```powershell -docker run --rm -it -p 18888:18888 -p 4317:18889 --name aspire-dashboard ` - mcr.microsoft.com/dotnet/aspire-dashboard:latest -``` - -
-
- -In the Docker logs, the endpoint and key for the dashboard are displayed. Copy the key and navigate to `http://localhost:18888` in a web browser. Enter the key to log in to the dashboard. +Start the Aspire dashboard in standalone mode so it's ready to receive telemetry data from the Node.js app. You can start it with the Aspire CLI or the standalone container image. For details, see [Start the dashboard](/dashboard/standalone/#start-the-dashboard). ## View telemetry in the dashboard diff --git a/src/frontend/src/content/docs/dashboard/standalone-for-python.mdx b/src/frontend/src/content/docs/dashboard/standalone-for-python.mdx index 62293366f..c05c794e9 100644 --- a/src/frontend/src/content/docs/dashboard/standalone-for-python.mdx +++ b/src/frontend/src/content/docs/dashboard/standalone-for-python.mdx @@ -12,7 +12,7 @@ import ThemeImage from '@components/ThemeImage.astro'; import aspireDashboardPythonLogs from '@assets/dashboard/standalone/aspire-dashboard-python-logs.png'; import aspireDashboardPythonLogsLight from '@assets/dashboard/standalone/aspire-dashboard-python-logs-light.png'; -The [Aspire dashboard](/dashboard/overview/) provides a great user experience for viewing telemetry, and is available as a standalone container image that can be used with any OpenTelemetry-enabled app. In this article, you'll learn how to: +The [Aspire dashboard](/dashboard/overview/) provides a great user experience for viewing telemetry. You can run it standalone with the [Aspire CLI](/reference/cli/overview/) or the standalone dashboard container image for any OpenTelemetry-enabled app. In this article, you'll learn how to: - Start the Aspire dashboard in standalone mode. - Use the Aspire dashboard with a Python app. @@ -21,9 +21,8 @@ The [Aspire dashboard](/dashboard/overview/) provides a great user experience fo To complete this tutorial, you need the following: -- [Container runtime](/get-started/prerequisites/#install-an-oci-compliant-container-runtime). - - You can use an alternative container runtime, but the commands in this article are for Docker. -- [Aspire 13.0 or later](/get-started/install-cli/) installed. +- A running standalone dashboard. For dashboard prerequisites and startup options, see [Standalone Aspire dashboard](/dashboard/standalone/#start-the-dashboard). +- [Aspire 13.0 or later](/get-started/install-cli/) installed to create the sample app. - [Python 3.10 or higher](https://www.python.org/downloads/) with [uv](https://docs.astral.sh/uv/) installed. ## Create a sample application @@ -66,14 +65,7 @@ This tutorial uses the Aspire 13.0 Python starter template which includes a Fast ## Start the Aspire dashboard -Before running the Python app, start the Aspire dashboard in standalone mode so it's ready to receive telemetry data: - -```bash -docker run --rm -it -p 18888:18888 -p 4317:18889 --name aspire-dashboard \ - mcr.microsoft.com/dotnet/aspire-dashboard:latest -``` - -In the Docker logs, the endpoint and key for the dashboard are displayed. Copy the key and navigate to `http://localhost:18888` in a web browser. Enter the key to log in to the dashboard. +Before running the Python app, start the Aspire dashboard in standalone mode so it's ready to receive telemetry data. You can start it with the Aspire CLI or the standalone container image. For details, see [Start the dashboard](/dashboard/standalone/#start-the-dashboard). Leave the dashboard running and open a new terminal for the next steps. @@ -236,7 +228,7 @@ When you're done exploring the Aspire dashboard with your Python app, stop both 1. Stop the FastAPI application by pressing in the terminal where it's running. -2. Stop the Aspire dashboard by pressing in the terminal where the Docker container is running. +2. Stop the Aspire dashboard by pressing in the terminal where the dashboard is running. diff --git a/src/frontend/src/content/docs/dashboard/standalone.mdx b/src/frontend/src/content/docs/dashboard/standalone.mdx index c3069bbe4..9861d38d4 100644 --- a/src/frontend/src/content/docs/dashboard/standalone.mdx +++ b/src/frontend/src/content/docs/dashboard/standalone.mdx @@ -11,10 +11,12 @@ import standaloneModeImage from '@assets/dashboard/standalone/standalone-mode.pn import standaloneModeImageLight from '@assets/dashboard/standalone/standalone-mode-light.png'; import containerLogImage from '@assets/dashboard/standalone/aspire-dashboard-container-log.png'; -The [Aspire dashboard](/dashboard/overview/) provides a great UI for viewing telemetry. The dashboard: +The [Aspire dashboard](/dashboard/overview/) provides a great UI for viewing telemetry. You can run the dashboard in standalone mode in two ways: -- Ships as a container image that can be used with any OpenTelemetry enabled app. -- Can be used standalone, without the rest of Aspire. +- Use the [Aspire CLI](/reference/cli/overview/) to start the dashboard with default local endpoints. +- Use the standalone dashboard container image when you want to run it with Docker or another OCI-compliant container runtime. + +Both options work without the rest of Aspire and can receive telemetry from any OpenTelemetry-enabled app.
@@ -54,28 +76,12 @@ The preceding Docker command: - Mapping the dashboard's OTLP/gRPC port `18889` to the host's port `4317`. Port `4317` receives OpenTelemetry data from apps using [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc). - Mapping the dashboard's OTLP/HTTP port `18890` to the host's port `4318`. Port `4318` receives OpenTelemetry data from apps using [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp). -### Aspire CLI - -If you have the [Aspire CLI](/reference/cli/overview/) installed, you can start the dashboard with a single command: - -```bash title="Aspire CLI" -aspire dashboard run -``` - -The dashboard starts with the following defaults: - -- **Frontend UI** at `http://localhost:18888` -- **OTLP/gRPC** endpoint at `http://localhost:4317` -- **OTLP/HTTP** endpoint at `http://localhost:4318` - -The dashboard is secured with a browser token by default. A login URL with the token is displayed in the terminal output. Use `--allow-anonymous` to disable authentication during local development. - -For all available options, see the [`aspire dashboard run`](/reference/cli/commands/aspire-dashboard-run/) command reference. - ## Login to the dashboard Data displayed in the dashboard can be sensitive. By default, the dashboard is secured with authentication that requires a token to login. +When the dashboard is run with `aspire dashboard run`, the Aspire CLI prints the login URL directly in the terminal. Open that URL in your browser to log in. + When the dashboard is run from a standalone container, the login token is printed to the container logs. The logs are displayed in the Docker Desktop user interface on the **Logs** tab for the **aspire-dashboard** container: Screenshot of the Aspire dashboard container logs. @@ -113,7 +119,7 @@ echo $matches.Value For more information about logging into the dashboard, see [Dashboard authentication](/dashboard/explore/#dashboard-authentication). @@ -128,7 +134,7 @@ The dashboard offers a UI for viewing telemetry. Refer to the documentation to e Although there is no restriction on where the dashboard is run, the dashboard is designed as a development and short-term diagnostic tool. The dashboard persists telemetry in-memory which creates some limitations: -- Telemetry is automatically removed if [telemetry limits](configuration#telemetry-limits) are exceeded. +- Telemetry is automatically removed if [telemetry limits](/dashboard/configuration/#telemetry-limits) are exceeded. - No telemetry is persisted when the dashboard is restarted. ### Unavailable features when standalone @@ -141,7 +147,7 @@ AI coding agents can still use the standalone dashboard via the Aspire CLI and M Apps send telemetry to the dashboard using [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp/). The dashboard must expose a port for receiving OpenTelemetry data, and apps are configured to send data to that address. -A Docker command was shown earlier to [start the dashboard](#start-the-dashboard). It configured the container to receive OpenTelemetry data on port `4317` (gRPC) and port `4318` (HTTP). The OTLP endpoint addresses are `http://localhost:4317` for gRPC and `http://localhost:4318` for HTTP. +Both startup options shown earlier configure the dashboard to receive OpenTelemetry data on port `4317` (gRPC) and port `4318` (HTTP). The OTLP endpoint addresses are `http://localhost:4317` for gRPC and `http://localhost:4318` for HTTP. The Docker command maps the container's OTLP ports to the same host ports. ### Configure OpenTelemetry SDK diff --git a/src/frontend/src/content/docs/get-started/faq.mdx b/src/frontend/src/content/docs/get-started/faq.mdx index 867da309a..539ef83c6 100644 --- a/src/frontend/src/content/docs/get-started/faq.mdx +++ b/src/frontend/src/content/docs/get-started/faq.mdx @@ -146,6 +146,12 @@ The key idea is that the same AppHost configuration flows across these stages. Learn more: [Aspire app lifecycle guide](/deployment/app-lifecycle/), [`aspire run`](/reference/cli/commands/aspire-run/), [`aspire deploy`](/reference/cli/commands/aspire-deploy/), [`aspire publish`](/reference/cli/commands/aspire-publish/) +## Does Aspire support hot reload? + +Aspire supports an opt-in watch mode through the `defaultWatchEnabled` feature flag. It supports both AppHost languages, C# and TypeScript, by restarting the AppHost-managed application after AppHost changes. C# project resources are also controlled by this setting today. For other resources, keep the AppHost running and use the resource's framework, runtime, Aspire CLI action, or dashboard action for resource-specific reloads, restarts, and rebuilds. + +Learn more: [Hot Reload and watch](/app-host/hot-reload-and-watch/) + ## What commands matter most when introducing Aspire? If you want the shortest useful list, start with these: diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx index ad6dd639a..66d7e81d3 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx @@ -40,6 +40,18 @@ The command performs the following steps to run an Aspire AppHost: - Starts the AppHost and its resources. - Starts the dashboard. +## Hot Reload and watch behavior + +By default, `aspire run` starts the distributed application once. It doesn't watch the AppHost or resource source files. After you change AppHost code, stop the running AppHost with Ctrl+C, and then run `aspire run` again. For individual resource changes, keep the AppHost running and restart or rebuild the resource from the Aspire CLI or dashboard when needed. + +Aspire also has an opt-in `defaultWatchEnabled` feature flag. When enabled, Aspire uses watch mode by default and automatically restarts the Aspire application after file changes: + +```bash title="Aspire CLI" +aspire config set features.defaultWatchEnabled true +``` + +Use Aspire watch mode when you want Aspire to restart the AppHost-managed application for you after AppHost changes. It supports both C# and TypeScript AppHosts; C# project resources are also controlled by this setting today. Other resource hot reload behavior depends on the framework or runtime backing the resource. For more information, see [Hot Reload and watch](/app-host/hot-reload-and-watch/). + The following snippet is an example of the output displayed by the `aspire run` command: ```bash title="Aspire CLI" diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx index ac622f2ca..69af3fcb6 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx @@ -23,6 +23,18 @@ The `aspire start` command starts an AppHost in the background and exits after t You can output detached startup details as a table or JSON, and you can pass additional arguments through to the AppHost by using the `--` delimiter. +## Hot Reload and watch behavior + +By default, `aspire start` starts the AppHost as a detached background process. It doesn't watch the AppHost or resource source files. After you change AppHost code, restart the detached AppHost by running `aspire start` again. For individual resource changes, keep the AppHost running and restart or rebuild the resource from the Aspire CLI or dashboard when needed. + +Aspire also has an opt-in `defaultWatchEnabled` feature flag. When enabled, Aspire uses watch mode by default and automatically restarts the Aspire application after file changes: + +```bash title="Aspire CLI" +aspire config set features.defaultWatchEnabled true +``` + +Use Aspire watch mode when you want Aspire to restart the AppHost-managed application for you after AppHost changes. It supports both C# and TypeScript AppHosts; C# project resources are also controlled by this setting today. Other resource hot reload behavior depends on the framework or runtime backing the resource. For more information, see [Hot Reload and watch](/app-host/hot-reload-and-watch/). + ## Options The following options are available: diff --git a/src/frontend/src/data/aspire-integrations.json b/src/frontend/src/data/aspire-integrations.json index 578906ce6..c17065dd4 100644 --- a/src/frontend/src/data/aspire-integrations.json +++ b/src/frontend/src/data/aspire-integrations.json @@ -2,7 +2,7 @@ { "title": "Aspire.Azure.AI.Inference", "description": "A client for Azure AI Inference SDK that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.inference/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.inference/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.AI.Inference", "tags": [ "aspire", @@ -16,12 +16,12 @@ "ai-search" ], "downloads": 44254, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Azure.AI.OpenAI", "description": "A client for Azure OpenAI that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.openai/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.ai.openai/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.AI.OpenAI", "tags": [ "aspire", @@ -34,12 +34,12 @@ "openai" ], "downloads": 576033, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Azure.Data.Tables", "description": "A client for Azure Table Storage that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.data.tables/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.data.tables/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Data.Tables", "tags": [ "aspire", @@ -50,8 +50,7 @@ "azure", "tables", "table", - "storage", - "cloud" + "storage" ], "downloads": 3580634, "version": "13.3.0" @@ -59,7 +58,7 @@ { "title": "Aspire.Azure.Messaging.EventHubs", "description": "A client for Azure Event Hubs that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.eventhubs/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.eventhubs/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.EventHubs", "tags": [ "aspire", @@ -71,8 +70,7 @@ "eventhubs", "amqp", "messaging", - "eventing", - "cloud" + "eventing" ], "downloads": 450106, "version": "13.3.0" @@ -80,7 +78,7 @@ { "title": "Aspire.Azure.Messaging.ServiceBus", "description": "A client for Azure Service Bus that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.servicebus/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.servicebus/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.ServiceBus", "tags": [ "aspire", @@ -92,8 +90,7 @@ "servicebus", "amqp", "messaging", - "eventing", - "cloud" + "eventing" ], "downloads": 1086539, "version": "13.3.0" @@ -101,7 +98,7 @@ { "title": "Aspire.Azure.Messaging.WebPubSub", "description": "A service client for Azure Web PubSub that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.webpubsub/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.messaging.webpubsub/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Messaging.WebPubSub", "tags": [ "aspire", @@ -113,8 +110,7 @@ "webpubsub", "websocket", "pubsub", - "messaging", - "cloud" + "messaging" ], "downloads": 43619, "version": "13.3.0" @@ -122,7 +118,7 @@ { "title": "Aspire.Azure.Npgsql", "description": "A client for Azure Database for PostgreSQL® that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Npgsql", "tags": [ "aspire", @@ -136,8 +132,7 @@ "npgsql", "sql", "database", - "data", - "cloud" + "data" ], "downloads": 78048, "version": "13.3.0" @@ -145,7 +140,7 @@ { "title": "Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL", "description": "An Azure Database for PostgreSQL® provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql.entityframeworkcore.postgresql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.npgsql.entityframeworkcore.postgresql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL", "tags": [ "aspire", @@ -164,8 +159,7 @@ "postgresql", "postgres", "npgsql", - "sql", - "cloud" + "sql" ], "downloads": 196651, "version": "13.3.0" @@ -173,7 +167,7 @@ { "title": "Aspire.Azure.Search.Documents", "description": "A client for Azure AI Search that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.search.documents/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.search.documents/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Search.Documents", "tags": [ "aspire", @@ -182,7 +176,6 @@ "component", "cloud", "azure", - "azure", "search", "ai", "ai-search" @@ -193,7 +186,7 @@ { "title": "Aspire.Azure.Security.KeyVault", "description": "A client for Azure Key Vault that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.security.keyvault/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.security.keyvault/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Security.KeyVault", "tags": [ "aspire", @@ -204,8 +197,7 @@ "azure", "keyvault", "secrets", - "security", - "cloud" + "security" ], "downloads": 1017497, "version": "13.3.0" @@ -213,7 +205,7 @@ { "title": "Aspire.Azure.Storage.Blobs", "description": "A client for Azure Blob Storage that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.blobs/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.blobs/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Blobs", "tags": [ "aspire", @@ -224,8 +216,7 @@ "azure", "storage", "blobs", - "blob", - "cloud" + "blob" ], "downloads": 5002241, "version": "13.3.0" @@ -233,7 +224,7 @@ { "title": "Aspire.Azure.Storage.Files.DataLake", "description": "A client for Azure Data Lake Storage that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.files.datalake/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.files.datalake/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Files.DataLake", "tags": [ "aspire", @@ -247,12 +238,12 @@ "datalake" ], "downloads": 764, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Azure.Storage.Queues", "description": "A client for Azure Queue Storage that integrates with Aspire, including health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.queues/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.azure.storage.queues/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Azure.Storage.Queues", "tags": [ "aspire", @@ -264,8 +255,7 @@ "storage", "queue", "queues", - "messaging", - "cloud" + "messaging" ], "downloads": 1515818, "version": "13.3.0" @@ -273,7 +263,7 @@ { "title": "Aspire.Confluent.Kafka", "description": "Confluent.Kafka based Kafka generic consumer and producer that integrates with Aspire, including healthchecks and metrics.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.confluent.kafka/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.confluent.kafka/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Confluent.Kafka", "tags": [ "aspire", @@ -288,10 +278,26 @@ "downloads": 2457623, "version": "13.3.0" }, + { + "title": "Aspire.Elastic.Clients.Elasticsearch", + "description": "A Elasticsearch client that integrates with Aspire, including health checks, logging, and telemetry.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.elastic.clients.elasticsearch/13.3.0/icon", + "href": "https://www.nuget.org/packages/Aspire.Elastic.Clients.Elasticsearch", + "tags": [ + "aspire", + "integration", + "client", + "component", + "cloud", + "elasticsearch" + ], + "downloads": 58635, + "version": "13.3.0" + }, { "title": "Aspire.Hosting", "description": "Core abstractions for the Aspire application model.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting", "tags": [ "aspire", @@ -301,10 +307,41 @@ "downloads": 20381621, "version": "13.3.0" }, + { + "title": "Aspire.Hosting.AgentFramework.DevUI", + "description": "Microsoft Agent Framework DevUI support for Aspire.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.agentframework.devui/1.5.0-preview.260507.1/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.AgentFramework.DevUI", + "tags": [ + "aspire", + "integration", + "hosting", + "agent-framework", + "devui", + "ai", + "agents" + ], + "downloads": 241, + "version": "1.5.0-preview.260507.1" + }, + { + "title": "Aspire.Hosting.AWS", + "description": "Add support for provisioning AWS application resources and configuring the AWS SDK for .NET.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.aws/13.0.2/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.AWS", + "tags": [ + "aspire", + "integration", + "hosting", + "aws" + ], + "downloads": 415132, + "version": "13.0.2" + }, { "title": "Aspire.Hosting.Azure", "description": "Azure resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure", "tags": [ "aspire", @@ -317,10 +354,30 @@ "downloads": 4982758, "version": "13.3.0" }, + { + "title": "Aspire.Hosting.Azure.AIFoundry", + "description": "Azure AI Foundry resource types for Aspire.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.aifoundry/13.1.3-preview.1.26166.8/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AIFoundry", + "tags": [ + "aspire", + "integration", + "hosting", + "azure", + "openai", + "ai", + "aifoundry", + "foundry", + "ai-search", + "cloud" + ], + "downloads": 53852, + "version": "13.1.3-preview.1.26166.8" + }, { "title": "Aspire.Hosting.Azure.AppConfiguration", "description": "Azure AppConfiguration resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appconfiguration/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appconfiguration/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppConfiguration", "tags": [ "aspire", @@ -336,7 +393,7 @@ { "title": "Aspire.Hosting.Azure.AppContainers", "description": "Azure container apps resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appcontainers/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appcontainers/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppContainers", "tags": [ "aspire", @@ -353,7 +410,7 @@ { "title": "Aspire.Hosting.Azure.ApplicationInsights", "description": "Azure Application Insights resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.applicationinsights/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.applicationinsights/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ApplicationInsights", "tags": [ "aspire", @@ -371,7 +428,7 @@ { "title": "Aspire.Hosting.Azure.AppService", "description": "Azure app service resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appservice/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.appservice/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.AppService", "tags": [ "aspire", @@ -387,7 +444,7 @@ { "title": "Aspire.Hosting.Azure.CognitiveServices", "description": "Azure OpenAI resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cognitiveservices/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cognitiveservices/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.CognitiveServices", "tags": [ "aspire", @@ -407,7 +464,7 @@ { "title": "Aspire.Hosting.Azure.ContainerRegistry", "description": "Azure Container Registry resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.containerregistry/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.containerregistry/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ContainerRegistry", "tags": [ "aspire", @@ -424,7 +481,7 @@ { "title": "Aspire.Hosting.Azure.CosmosDB", "description": "Azure Cosmos DB resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cosmosdb/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.cosmosdb/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.CosmosDB", "tags": [ "aspire", @@ -443,7 +500,7 @@ { "title": "Aspire.Hosting.Azure.EventHubs", "description": "Azure Event Hubs resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.eventhubs/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.eventhubs/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.EventHubs", "tags": [ "aspire", @@ -461,7 +518,7 @@ { "title": "Aspire.Hosting.Azure.FrontDoor", "description": "Azure Front Door resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.frontdoor/13.3.0-preview.1.26254.5/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.frontdoor/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.FrontDoor", "tags": [ "aspire", @@ -472,12 +529,13 @@ "cdn", "cloud" ], - "version": "13.3.0-preview.1.26254.5" + "downloads": 0, + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Azure.Functions", "description": "Azure Functions resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.functions/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.functions/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Functions", "tags": [ "aspire", @@ -494,7 +552,7 @@ { "title": "Aspire.Hosting.Azure.KeyVault", "description": "Azure resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.keyvault/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.keyvault/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.KeyVault", "tags": [ "aspire", @@ -512,7 +570,7 @@ { "title": "Aspire.Hosting.Azure.Kubernetes", "description": "Azure Kubernetes Service (AKS) resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kubernetes/13.3.0-preview.1.26254.5/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kubernetes/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Kubernetes", "tags": [ "aspire", @@ -522,12 +580,13 @@ "kubernetes", "aks" ], - "version": "13.3.0-preview.1.26254.5" + "downloads": 0, + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Azure.Kusto", "description": "Azure Kusto support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kusto/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.kusto/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Kusto", "tags": [ "aspire", @@ -540,12 +599,12 @@ "cloud" ], "downloads": 4227, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Azure.Network", "description": "Azure Virtual Network resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.network/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.network/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Network", "tags": [ "aspire", @@ -566,7 +625,7 @@ { "title": "Aspire.Hosting.Azure.OperationalInsights", "description": "Azure Log Analytics resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.operationalinsights/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.operationalinsights/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.OperationalInsights", "tags": [ "aspire", @@ -583,7 +642,7 @@ { "title": "Aspire.Hosting.Azure.PostgreSQL", "description": "Azure PostgreSql Flexible Server resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.postgresql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.postgresql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.PostgreSQL", "tags": [ "aspire", @@ -601,7 +660,7 @@ { "title": "Aspire.Hosting.Azure.Redis", "description": "Azure Redis resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.redis/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.redis/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Redis", "tags": [ "aspire", @@ -619,7 +678,7 @@ { "title": "Aspire.Hosting.Azure.Search", "description": "Azure AI Search resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.search/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.search/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Search", "tags": [ "aspire", @@ -637,7 +696,7 @@ { "title": "Aspire.Hosting.Azure.ServiceBus", "description": "Azure Service Bus resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.servicebus/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.servicebus/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.ServiceBus", "tags": [ "aspire", @@ -655,7 +714,7 @@ { "title": "Aspire.Hosting.Azure.SignalR", "description": "Azure SignalR resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.signalr/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.signalr/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.SignalR", "tags": [ "aspire", @@ -672,7 +731,7 @@ { "title": "Aspire.Hosting.Azure.Sql", "description": "Azure SQL Database resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.sql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.sql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Sql", "tags": [ "aspire", @@ -690,7 +749,7 @@ { "title": "Aspire.Hosting.Azure.Storage", "description": "Azure Storage resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.storage/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.storage/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.Storage", "tags": [ "aspire", @@ -709,7 +768,7 @@ { "title": "Aspire.Hosting.Azure.WebPubSub", "description": "Azure WebPubSub resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.webpubsub/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.azure.webpubsub/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Azure.WebPubSub", "tags": [ "aspire", @@ -728,7 +787,7 @@ { "title": "Aspire.Hosting.Browsers", "description": "Browser support for Aspire hosting.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.browsers/13.3.0-preview.1.26254.5/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.browsers/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Browsers", "tags": [ "aspire", @@ -739,12 +798,29 @@ "logs", "diagnostics" ], - "version": "13.3.0-preview.1.26254.5" + "downloads": 0, + "version": "13.3.0-preview.1.26256.5" + }, + { + "title": "Aspire.Hosting.ClickHouse", + "description": "ClickHouse hosting support for Aspire. Adds ClickHouse container resources, databases, volumes, and health checks to the Aspire app model.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.clickhouse/13.1.2/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.ClickHouse", + "tags": [ + "aspire", + "integration", + "hosting", + "clickhouse", + "database", + "data" + ], + "downloads": 780, + "version": "13.1.2" }, { "title": "Aspire.Hosting.CodeGeneration.Go", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.go/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.go/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Go", "tags": [], "downloads": 504, @@ -753,7 +829,7 @@ { "title": "Aspire.Hosting.CodeGeneration.Java", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.java/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.java/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Java", "tags": [], "downloads": 532, @@ -762,7 +838,7 @@ { "title": "Aspire.Hosting.CodeGeneration.Python", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.python/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.python/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Python", "tags": [], "downloads": 503, @@ -771,7 +847,7 @@ { "title": "Aspire.Hosting.CodeGeneration.Rust", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.rust/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.rust/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.Rust", "tags": [], "downloads": 492, @@ -780,7 +856,7 @@ { "title": "Aspire.Hosting.CodeGeneration.TypeScript", "description": "Package Description", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.typescript/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.codegeneration.typescript/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.CodeGeneration.TypeScript", "tags": [], "downloads": 5468, @@ -789,7 +865,7 @@ { "title": "Aspire.Hosting.DevTunnels", "description": "DevTunnels support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.devtunnels/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.devtunnels/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.DevTunnels", "tags": [ "aspire", @@ -802,7 +878,7 @@ { "title": "Aspire.Hosting.Docker", "description": "Docker Compose publishing for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.docker/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.docker/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Docker", "tags": [ "aspire", @@ -813,10 +889,42 @@ "downloads": 337492, "version": "13.3.0" }, + { + "title": "Aspire.Hosting.DocumentDB", + "description": "DocumentDB support for Aspire. Provides extension methods and resource definitions for An Aspire AppHost to configure a DocumentDB resource.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.documentdb/0.109.2/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.DocumentDB", + "tags": [ + "aspire", + "integration", + "hosting", + "documentdb", + "mongodb", + "cosmosdb", + "azure", + "database" + ], + "downloads": 295, + "version": "0.109.2" + }, + { + "title": "Aspire.Hosting.Elasticsearch", + "description": "Elasticsearch support for Aspire.", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.elasticsearch/13.3.0/icon", + "href": "https://www.nuget.org/packages/Aspire.Hosting.Elasticsearch", + "tags": [ + "aspire", + "integration", + "hosting", + "elasticsearch" + ], + "downloads": 238155, + "version": "13.3.0" + }, { "title": "Aspire.Hosting.EntityFrameworkCore", "description": "Entity Framework Core migration management support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.entityframeworkcore/13.3.0-preview.1.26254.5/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.entityframeworkcore/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.EntityFrameworkCore", "tags": [ "aspire", @@ -828,12 +936,13 @@ "migrations", "database" ], - "version": "13.3.0-preview.1.26254.5" + "downloads": 0, + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Foundry", "description": "Microsoft Foundry resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.foundry/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.foundry/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Foundry", "tags": [ "aspire", @@ -848,12 +957,12 @@ "cloud" ], "downloads": 5609, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Garnet", "description": "Garnet® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.garnet/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.garnet/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Garnet", "tags": [ "aspire", @@ -869,7 +978,7 @@ { "title": "Aspire.Hosting.GitHub.Models", "description": "GitHub Models resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.github.models/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.github.models/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.GitHub.Models", "tags": [ "aspire", @@ -885,7 +994,7 @@ { "title": "Aspire.Hosting.JavaScript", "description": "JavaScript support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.javascript/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.javascript/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.JavaScript", "tags": [ "aspire", @@ -903,7 +1012,7 @@ { "title": "Aspire.Hosting.Kafka", "description": "Kafka support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kafka/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kafka/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Kafka", "tags": [ "aspire", @@ -919,7 +1028,7 @@ { "title": "Aspire.Hosting.Keycloak", "description": "Keycloak support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.keycloak/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.keycloak/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Keycloak", "tags": [ "aspire", @@ -931,12 +1040,12 @@ "security" ], "downloads": 462760, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Kubernetes", "description": "Kubernetes publishing for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kubernetes/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.kubernetes/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Kubernetes", "tags": [ "aspire", @@ -944,12 +1053,12 @@ "kubernetes" ], "downloads": 89923, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Maui", "description": "MAUI integration for Aspire (local dev only)", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.maui/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.maui/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Maui", "tags": [ "aspire", @@ -957,12 +1066,12 @@ "hosting" ], "downloads": 15498, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Hosting.Milvus", "description": "Milvus vector database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.milvus/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.milvus/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Milvus", "tags": [ "aspire", @@ -981,7 +1090,7 @@ { "title": "Aspire.Hosting.MongoDB", "description": "MongoDB support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mongodb/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mongodb/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.MongoDB", "tags": [ "aspire", @@ -997,7 +1106,7 @@ { "title": "Aspire.Hosting.MySql", "description": "MySQL support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mysql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.mysql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.MySql", "tags": [ "aspire", @@ -1013,7 +1122,7 @@ { "title": "Aspire.Hosting.Nats", "description": "NATS support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.nats/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.nats/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Nats", "tags": [ "aspire", @@ -1029,7 +1138,7 @@ { "title": "Aspire.Hosting.OpenAI", "description": "OpenAI resource types for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.openai/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.openai/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.OpenAI", "tags": [ "aspire", @@ -1044,7 +1153,7 @@ { "title": "Aspire.Hosting.Oracle", "description": "Oracle Database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.oracle/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.oracle/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Oracle", "tags": [ "aspire", @@ -1061,7 +1170,7 @@ { "title": "Aspire.Hosting.Orleans", "description": "Orleans support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.orleans/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.orleans/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Orleans", "tags": [ "aspire", @@ -1077,7 +1186,7 @@ { "title": "Aspire.Hosting.PostgreSQL", "description": "PostgreSQL® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.postgresql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.postgresql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.PostgreSQL", "tags": [ "aspire", @@ -1096,7 +1205,7 @@ { "title": "Aspire.Hosting.Python", "description": "Python support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.python/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.python/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Python", "tags": [ "aspire", @@ -1112,7 +1221,7 @@ { "title": "Aspire.Hosting.Qdrant", "description": "Qdrant vector database support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.qdrant/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.qdrant/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Qdrant", "tags": [ "aspire", @@ -1130,7 +1239,7 @@ { "title": "Aspire.Hosting.RabbitMQ", "description": "RabbitMQ support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.rabbitmq/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.rabbitmq/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.RabbitMQ", "tags": [ "aspire", @@ -1146,7 +1255,7 @@ { "title": "Aspire.Hosting.Redis", "description": "Redis® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.redis/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.redis/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Redis", "tags": [ "aspire", @@ -1162,7 +1271,7 @@ { "title": "Aspire.Hosting.Seq", "description": "Seq support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.seq/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.seq/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Seq", "tags": [ "aspire", @@ -1178,7 +1287,7 @@ { "title": "Aspire.Hosting.SqlServer", "description": "Microsoft SQL Server support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.sqlserver/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.sqlserver/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.SqlServer", "tags": [ "aspire", @@ -1195,7 +1304,7 @@ { "title": "Aspire.Hosting.Testing", "description": "Testing support for the Aspire application model.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.testing/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.testing/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Testing", "tags": [ "aspire", @@ -1207,7 +1316,7 @@ { "title": "Aspire.Hosting.Valkey", "description": "Valkey® support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.valkey/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.valkey/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Valkey", "tags": [ "aspire", @@ -1223,7 +1332,7 @@ { "title": "Aspire.Hosting.Yarp", "description": "YARP support for Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.yarp/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.hosting.yarp/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Hosting.Yarp", "tags": [ "aspire", @@ -1239,7 +1348,7 @@ { "title": "Aspire.Keycloak.Authentication", "description": "Configures Keycloak as the authentication provider for ASP.NET Core applications.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.keycloak.authentication/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.keycloak.authentication/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Keycloak.Authentication", "tags": [ "aspire", @@ -1253,12 +1362,12 @@ "security" ], "downloads": 362292, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Microsoft.Azure.Cosmos", "description": "A client for Azure Cosmos DB that integrates with Aspire, including logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.cosmos/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.cosmos/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Azure.Cosmos", "tags": [ "aspire", @@ -1272,8 +1381,7 @@ "data", "database", "db", - "nosql", - "cloud" + "nosql" ], "downloads": 954789, "version": "13.3.0" @@ -1281,7 +1389,7 @@ { "title": "Aspire.Microsoft.Azure.StackExchangeRedis", "description": "An Azure Cache for Redis® client that integrates with Aspire, including Azure AD authentication, health checks, logging and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.stackexchangeredis/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.azure.stackexchangeredis/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Azure.StackExchangeRedis", "tags": [ "aspire", @@ -1291,10 +1399,8 @@ "cloud", "azure", "redis", - "azure", "cache", - "caching", - "cloud" + "caching" ], "downloads": 44150, "version": "13.3.0" @@ -1302,7 +1408,7 @@ { "title": "Aspire.Microsoft.Data.SqlClient", "description": "A Microsoft SQL Server client that integrates with Aspire, including health checks, metrics and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.data.sqlclient/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.data.sqlclient/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Data.SqlClient", "tags": [ "aspire", @@ -1321,7 +1427,7 @@ { "title": "Aspire.Microsoft.EntityFrameworkCore.Cosmos", "description": "A Microsoft Azure Cosmos DB provider for Entity Framework Core that integrates with Aspire, including connection pooling, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.cosmos/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.cosmos/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.Cosmos", "tags": [ "aspire", @@ -1340,8 +1446,7 @@ "azure", "cosmos", "cosmosdb", - "nosql", - "cloud" + "nosql" ], "downloads": 149683, "version": "13.3.0" @@ -1349,7 +1454,7 @@ { "title": "Aspire.Microsoft.EntityFrameworkCore.SqlServer", "description": "A Microsoft SQL Server provider for Entity Framework Core that integrates with Aspire, including connection pooling, health check, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.sqlserver/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.entityframeworkcore.sqlserver/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.SqlServer", "tags": [ "aspire", @@ -1374,7 +1479,7 @@ { "title": "Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration", "description": "A client for Azure App Configuration that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.extensions.configuration.azureappconfiguration/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.microsoft.extensions.configuration.azureappconfiguration/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration", "tags": [ "aspire", @@ -1384,8 +1489,7 @@ "cloud", "azure", "configuration", - "appconfiguration", - "cloud" + "appconfiguration" ], "downloads": 263221, "version": "13.3.0" @@ -1393,7 +1497,7 @@ { "title": "Aspire.Milvus.Client", "description": "A Milvus client that integrates with Aspire, including logging.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.milvus.client/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.milvus.client/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.Milvus.Client", "tags": [ "aspire", @@ -1408,12 +1512,12 @@ "ai-search" ], "downloads": 7363, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.MongoDB.Driver", "description": "A generic MongoDB client that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.Driver", "tags": [ "aspire", @@ -1431,7 +1535,7 @@ { "title": "Aspire.MongoDB.Driver.v2", "description": "A generic MongoDB client (versions 2.x) that integrates with Aspire.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver.v2/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.driver.v2/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.Driver.v2", "tags": [ "aspire", @@ -1449,7 +1553,7 @@ { "title": "Aspire.MongoDB.EntityFrameworkCore", "description": "A MongoDB provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.entityframeworkcore/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mongodb.entityframeworkcore/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.MongoDB.EntityFrameworkCore", "tags": [ "aspire", @@ -1473,7 +1577,7 @@ { "title": "Aspire.MySqlConnector", "description": "A MySQL client that integrates with Aspire, including health checks, metrics, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mysqlconnector/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.mysqlconnector/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.MySqlConnector", "tags": [ "aspire", @@ -1493,7 +1597,7 @@ { "title": "Aspire.NATS.Net", "description": "A NATS client that integrates with Aspire, including health checks and logging.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.nats.net/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.nats.net/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.NATS.Net", "tags": [ "aspire", @@ -1511,7 +1615,7 @@ { "title": "Aspire.Npgsql", "description": "A PostgreSQL® client that integrates with Aspire, including health checks, metrics, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Npgsql", "tags": [ "aspire", @@ -1532,7 +1636,7 @@ { "title": "Aspire.Npgsql.EntityFrameworkCore.PostgreSQL", "description": "A PostgreSQL® provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql.entityframeworkcore.postgresql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.npgsql.entityframeworkcore.postgresql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL", "tags": [ "aspire", @@ -1559,7 +1663,7 @@ { "title": "Aspire.OpenAI", "description": "A client for OpenAI that integrates with Aspire, including metrics and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.openai/13.2.4-preview.1.26224.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.openai/13.3.0-preview.1.26256.5/icon", "href": "https://www.nuget.org/packages/Aspire.OpenAI", "tags": [ "aspire", @@ -1571,12 +1675,12 @@ "openai" ], "downloads": 482723, - "version": "13.3.0-preview.1.26254.5" + "version": "13.3.0-preview.1.26256.5" }, { "title": "Aspire.Oracle.EntityFrameworkCore", "description": "An Oracle Database provider for Entity Framework Core that integrates with Aspire, including connection pooling, health check, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.oracle.entityframeworkcore/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.oracle.entityframeworkcore/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Oracle.EntityFrameworkCore", "tags": [ "aspire", @@ -1601,7 +1705,7 @@ { "title": "Aspire.Pomelo.EntityFrameworkCore.MySql", "description": "A MySQL provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.pomelo.entityframeworkcore.mysql/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.pomelo.entityframeworkcore.mysql/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Pomelo.EntityFrameworkCore.MySql", "tags": [ "aspire", @@ -1627,7 +1731,7 @@ { "title": "Aspire.Qdrant.Client", "description": "A Qdrant client that integrates with Aspire, including logging.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.qdrant.client/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.qdrant.client/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Qdrant.Client", "tags": [ "aspire", @@ -1646,7 +1750,7 @@ { "title": "Aspire.RabbitMQ.Client", "description": "A RabbitMQ client that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.RabbitMQ.Client", "tags": [ "aspire", @@ -1667,7 +1771,7 @@ { "title": "Aspire.RabbitMQ.Client.v6", "description": "A RabbitMQ client (versions 6.x) that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client.v6/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.rabbitmq.client.v6/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.RabbitMQ.Client.v6", "tags": [ "aspire", @@ -1688,7 +1792,7 @@ { "title": "Aspire.Seq", "description": "A Seq client that connects an Aspire project's telemetry to Seq.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.seq/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.seq/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.Seq", "tags": [ "aspire", @@ -1706,7 +1810,7 @@ { "title": "Aspire.StackExchange.Redis", "description": "A generic Redis® client that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis", "tags": [ "aspire", @@ -1724,7 +1828,7 @@ { "title": "Aspire.StackExchange.Redis.DistributedCaching", "description": "A Redis® implementation for IDistributedCache that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.distributedcaching/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.distributedcaching/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis.DistributedCaching", "tags": [ "aspire", @@ -1744,7 +1848,7 @@ { "title": "Aspire.StackExchange.Redis.OutputCaching", "description": "A Redis® implementation for ASP.NET Core Output Caching that integrates with Aspire, including health checks, logging, and telemetry.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.outputcaching/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.stackexchange.redis.outputcaching/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.StackExchange.Redis.OutputCaching", "tags": [ "aspire", @@ -1765,7 +1869,7 @@ { "title": "Aspire.TypeSystem", "description": "Aspire Type System (ATS) APIs for Aspire polyglot support.", - "icon": "https://api.nuget.org/v3-flatcontainer/aspire.typesystem/13.2.4/icon", + "icon": "https://api.nuget.org/v3-flatcontainer/aspire.typesystem/13.3.0/icon", "href": "https://www.nuget.org/packages/Aspire.TypeSystem", "tags": [ "aspire", diff --git a/src/frontend/src/data/github-stats.json b/src/frontend/src/data/github-stats.json index 5a980315e..c6c7f09ad 100644 --- a/src/frontend/src/data/github-stats.json +++ b/src/frontend/src/data/github-stats.json @@ -1,7 +1,7 @@ [ { "name": "microsoft/aspire", - "stars": 5889, + "stars": 5900, "description": "Aspire is the tool for code-first, extensible, observable dev and deploy.", "license": "https://github.com/microsoft/aspire/blob/main/LICENSE.TXT", "licenseName": "MIT License", @@ -9,7 +9,7 @@ }, { "name": "microsoft/aspire-samples", - "stars": 1172, + "stars": 1173, "description": null, "license": "https://github.com/microsoft/aspire-samples/blob/main/LICENSE", "licenseName": "MIT License", @@ -25,7 +25,7 @@ }, { "name": "microsoft/aspire.dev", - "stars": 148, + "stars": 151, "description": "The official website for all things aspire.dev.", "license": "https://github.com/microsoft/aspire.dev/blob/main/LICENSE", "licenseName": "MIT License", diff --git a/src/frontend/tests/e2e/ui-regressions.spec.ts b/src/frontend/tests/e2e/ui-regressions.spec.ts index ad4cada15..5a16829b0 100644 --- a/src/frontend/tests/e2e/ui-regressions.spec.ts +++ b/src/frontend/tests/e2e/ui-regressions.spec.ts @@ -266,7 +266,7 @@ test('footer preferences persist theme and keyboard style selections', async ({ }); test('terminal tabs stay synced between pages', async ({ page }) => { - await page.goto('/dashboard/overview/'); + await page.goto('/dashboard/standalone/'); await dismissCookieConsentIfVisible(page); const sourceTabs = page.locator('starlight-tabs[data-sync-key="terminal"]').first();