Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions src/frontend/src/content/docs/deployment/manifest-format.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,25 @@ The connection string placeholder references the `password` input parameter from

The preceding JSON snippet shows the `inputs` field for a resource that has a `connectionString` field. The `password` input parameter is a string type and is marked as a secret. The `default` field is used to specify a default value for the input parameter. In this case, the default value is generated using the `generate` field, with random string of a minimum length.

When a parameter is using a filter (for example `uri`), the manifest contains an additional resource that represents the filtered projection.
Copy link

Copilot AI Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two clarity issues in this sentence:

  1. The term "projection" is introduced without explanation. Readers may not understand what "filtered projection" means in this context. Consider using simpler terminology like "filtered version" or "encoded representation", or add a brief explanation.
  2. The phrase "When a parameter is using a filter" could be clearer. Consider rephrasing to "When a filter is applied to a parameter" to more accurately describe the relationship.

Copilot uses AI. Check for mistakes.

- The resource type is `"annotated.string"`.
- `value` references the raw parameter value (`{parameter-name.value}`).
- `filter` names the formatter (e.g., `"uri"`, ...).
- The resource name is derived from the parameter name and format (`{parameter}-{format}-encoded`). Names are deduplicated if multiple projections share the same base.
Copy link

Copilot AI Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The phrase "Names are deduplicated if multiple projections share the same base" is ambiguous and could confuse readers. It's unclear what happens during deduplication (e.g., are suffixes added like -1, -2?) and when this scenario would occur. Consider either removing this sentence if it's an edge case that rarely happens, or providing a concrete example showing how names are deduplicated.

Suggested change
- The resource name is derived from the parameter name and format (`{parameter}-{format}-encoded`). Names are deduplicated if multiple projections share the same base.
- The resource name is derived from the parameter name and format (`{parameter}-{format}-encoded`).

Copilot uses AI. Check for mistakes.

Example projection generated for a URI-encoded password:

```json
"redis-password-uri-encoded": {
"type": "annotated.string",
"value": "{redis-password.value}",
"filter": "uri"
}
```

The original parameter remains in the manifest, preserving its secret metadata. Tools should apply the indicated `filter` when materializing the value.

## Built-in resources

The following table is a list of resource types that are explicitly generated by Aspire and extensions developed by the Aspire team:
Expand Down
Loading