diff --git a/src/frontend/config/sidebar/reference.topics.ts b/src/frontend/config/sidebar/reference.topics.ts index dc7c9a3e8..b9d35f8c6 100644 --- a/src/frontend/config/sidebar/reference.topics.ts +++ b/src/frontend/config/sidebar/reference.topics.ts @@ -301,6 +301,10 @@ export const referenceTopics: StarlightSidebarTopicsUserConfig = { label: 'aspire deploy', slug: 'reference/cli/commands/aspire-deploy', }, + { + label: 'aspire describe', + slug: 'reference/cli/commands/aspire-describe', + }, { label: 'aspire do', slug: 'reference/cli/commands/aspire-do' }, { label: 'aspire docs', diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-describe.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-describe.mdx new file mode 100644 index 000000000..41f340f10 --- /dev/null +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-describe.mdx @@ -0,0 +1,126 @@ +--- +title: aspire describe command +description: Learn about the aspire describe command which displays resource details for a running Aspire AppHost, with optional continuous streaming. +--- + +import Include from '@components/Include.astro'; +import { Aside, Steps } from '@astrojs/starlight/components'; + +## Name + +`aspire describe` - Describe resources in a running AppHost. + +## Synopsis + +```bash title="Aspire CLI" +aspire describe [] [options] +``` + +## Description + +The `aspire describe` command displays resource details for a running Aspire AppHost. By default, it shows a snapshot table of all resources with their name, type, state, health status, and endpoints. Use the `--follow` option to continuously stream resource state changes in real time. + +When a specific resource name is provided, only matching resources are displayed. If no matching resource is found, the command returns an error. + +When executed without the `--apphost` option, the command: + + + +1. Scans for all running AppHost processes. +2. If multiple AppHosts are running within the current directory scope, prompts you to select which one to target. +3. If only one AppHost is running in scope, connects to it directly. +4. If no in-scope AppHosts are found but out-of-scope AppHosts exist, displays all running AppHosts for selection. + + + + + +## Arguments + +- **``** + + The name of the resource to display. If not specified, all resources are shown. + +## Options + +The following options are available: + +- **`-f, --follow`** + + Continuously stream resource state changes. In table mode, each update prints a line showing the resource name, state, health, and endpoints. In JSON mode, each update emits a single JSON object per line ([Newline Delimited JSON (NDJSON)](https://github.com/ndjson/ndjson-spec) format). + +- **`--apphost `** + + The path to the Aspire AppHost project file. When specified, the command connects to the AppHost running from that project file without prompting for selection. + +- **`--format `** + + Output format. Use `Json` for machine-readable output suitable for scripting and automation. Defaults to `Table`. Values are case-insensitive. + + In snapshot mode (without `--follow`), JSON output wraps resources in a `{ "resources": [...] }` object. In follow mode, JSON output uses [Newline Delimited JSON (NDJSON)](https://github.com/ndjson/ndjson-spec) for streaming, emitting one JSON object per line. + +- + +- + +## Examples + +- Show all resources in a running AppHost: + + ```bash title="Aspire CLI" + aspire describe + ``` + + Example output: + + ```text title="Output" + Name Type State Health Endpoints + cache container Running Healthy tcp://localhost:63122 + webfrontend project Running Healthy https://localhost:17015, http://localhost:15099 + apiservice project Running Healthy https://localhost:17016, http://localhost:15100 + ``` + +- Show details for a specific resource: + + ```bash title="Aspire CLI" + aspire describe webfrontend + ``` + +- Continuously stream resource state changes: + + ```bash title="Aspire CLI" + aspire describe --follow + ``` + +- Stream state changes for a specific resource: + + ```bash title="Aspire CLI" + aspire describe webfrontend --follow + ``` + +- Output resource details as JSON: + + ```bash title="Aspire CLI" + aspire describe --format Json + ``` + +- Stream resource changes as Newline Delimited JSON (NDJSON) for scripting: + + ```bash title="Aspire CLI" + aspire describe --follow --format Json + ``` + +- Target a specific AppHost project: + + ```bash title="Aspire CLI" + aspire describe --apphost './src/MyApp.AppHost/MyApp.AppHost.csproj' + ``` + +## See also + +- [aspire run](/reference/cli/commands/aspire-run/) +- [aspire ps](/reference/cli/commands/aspire-ps/) +- [aspire wait](/reference/cli/commands/aspire-wait/) +- [aspire stop](/reference/cli/commands/aspire-stop/) diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx index cf6e84ded..9e943577c 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx @@ -45,6 +45,7 @@ The following commands are available: | [`aspire cache`](../aspire-cache/) | Stable | Manage disk cache for CLI operations. | | [`aspire config`](../aspire-config/) | Stable | Configures the Aspire environment. | | [`aspire deploy`](../aspire-deploy/) | Preview | Deploys the artifacts created by `aspire publish`. | +| [`aspire describe`](../aspire-describe/) | Stable | Describe resources in a running AppHost. | | [`aspire do`](../aspire-do/) | Preview | Execute a specific pipeline step and its dependencies. | | [`aspire docs`](../aspire-docs/) | Stable | Browse and search Aspire documentation from aspire.dev. | | [`aspire doctor`](../aspire-doctor/) | Stable | Check the development environment for common issues. | diff --git a/src/frontend/src/content/docs/reference/cli/overview.mdx b/src/frontend/src/content/docs/reference/cli/overview.mdx index b62d52bf9..e6274c591 100644 --- a/src/frontend/src/content/docs/reference/cli/overview.mdx +++ b/src/frontend/src/content/docs/reference/cli/overview.mdx @@ -151,6 +151,14 @@ The `aspire exec` command runs a command in the context of a specific Aspire res [Command reference: `aspire exec`](../commands/aspire-exec/) +## Describe resources + +The `aspire describe` command displays resource details for a running Aspire AppHost, including name, type, state, health status, and endpoints. Use it to get a quick snapshot of all resources or continuously stream state changes with the `--follow` flag. + + + [Command reference: `aspire describe`](../commands/aspire-describe/) + + ## Manage CLI configuration The `aspire config` command lets you manage Aspire CLI configuration settings. Use it to `list`, `get`, `set`, or `delete` configuration values that control CLI behavior. This command is also used to toggle features on or off. diff --git a/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx b/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx index c7173b50e..f45823855 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx @@ -124,6 +124,22 @@ aspire run --isolated Isolated mode assigns random ports and creates separate user secrets for each run, preventing port conflicts and configuration collisions. This is particularly useful when switching between different Aspire projects or running integration tests that need dedicated ports. +### Resource monitoring with `aspire describe` + +The `aspire resources` command has been renamed to `aspire describe` (with `resources` kept as a backward-compatible alias) to better align with `kubectl`-style conventions. The `--watch` flag has also been renamed to `--follow`/`-f` for consistency with `aspire logs --follow`. + +```bash title="Aspire CLI — Describe resources" +# Show all resources in a running AppHost +aspire describe + +# Continuously stream resource state changes +aspire describe --follow +``` + + + Command reference: [`aspire describe`](/reference/cli/commands/aspire-describe/). + + ### Environment diagnostics with `aspire doctor` The new `aspire doctor` command provides comprehensive diagnostics of your development environment: