Skip to content

Instantly share code, notes, and snippets.

@davidfowl
Created February 1, 2026 17:08
Show Gist options
  • Select an option

  • Save davidfowl/0a5ef411e6fd725b8106dcead65b6c1d to your computer and use it in GitHub Desktop.

Select an option

Save davidfowl/0a5ef411e6fd725b8106dcead65b6c1d to your computer and use it in GitHub Desktop.
Aspire Documentation Gaps - What's New Analysis

Documentation Gap Issues - Summary

Overview

Issues to file for documentation gaps identified by analyzing what's-new docs vs standalone reference documentation.


Features WITH Docs (No Issue Needed)

Feature Doc Slug
TLS/Certificates certificate-configuration
YARP Static Files yarp-integration
Azure App Config Emulator azure-app-configuration-integration
Keycloak OTLP keycloak-integration
JavaScript integration javascript-integration
Interaction Service interaction-service-preview
Dev Tunnels dev-tunnels-integration
OpenAI integration openai-integration
GitHub Models github-models-integration
YARP integration yarp-integration
Resource commands custom-resource-commands
Lifecycle events apphost-eventing-apis
Azure Functions azure-functions-integration
Docker Compose docker-integration
GenAI visualizer explore-aspire-dashboard
Azure Container Apps configure-azure-container-apps-environments
Azure Role Assignments manage-azure-role-assignments

Priority Order - Issues to File

P0 - Critical (Core Platform Features)

# Issue Description
01 Python Hosting Docs First-party Aspire.Hosting.Python undocumented
02 MCP Integration Docs aspire mcp init and AI agent support
03 Pipelines Docs aspire do, PipelineStep
04 Polyglot Connections UriExpression, JdbcConnectionStringExpression
05 Persistent Containers WithLifetime(ContainerLifetime.Persistent)
06 External Services AddExternalService()

P1 - High (Important Features)

# Issue Description
07 Container Registry AddContainerRegistry, aspire do push
08 Endpoint URLs 0.0.0.0 binding for LAN access
09 Container Files WithContainerFiles API
10 Migration Guide 9.x to 13.x breaking changes

P2 - Medium (Integration Updates)

# Issue Description
11 RabbitMQ Auto Activation DisableAutoActivation option
12 Redis Client Builder AddRedisClientBuilder pattern
13 VS Code Extension Python/JS debugging
14 Azure Kusto AddAzureKustoCluster

P3 - Low (Experimental / Minor)

# Issue Description
15 Dockerfile Builder WithDockerfileBuilder, auto generation
16 C# File-Based Apps AddCSharpApp (experimental)
17 Azure 13.1 Features ClearDefaultRoleAssignments, WithDeploymentSlot

Summary Stats

Status Count
Features with docs 17
Issues to file (P0) 6
Issues to file (P1) 4
Issues to file (P2) 4
Issues to file (P3) 3
Total issues 17

Files in This Folder

00-summary.md                    # This file
01-python-hosting-docs.md        # P0
02-mcp-integration-docs.md       # P0
03-pipelines-docs.md             # P0
04-polyglot-connections-docs.md  # P0
05-persistent-containers-docs.md # P0
06-external-services-docs.md     # P0
07-container-registry-docs.md    # P1
08-endpoint-urls-docs.md         # P1
09-container-files-docs.md       # P1
10-migration-guide-13.md         # P1
11-rabbitmq-auto-activation.md   # P2
12-redis-client-builder.md       # P2
13-vscode-extension-docs.md      # P2
14-azure-kusto-docs.md           # P2
15-dockerfile-builder-docs.md    # P3
16-csharp-file-apps-docs.md      # P3
17-azure-features-docs.md        # P3

[Docs] Create first-party Python hosting documentation

Summary

The first-party Aspire.Hosting.Python package introduced in Aspire 13.0 has no standalone documentation. The existing python-integration doc covers the Community Toolkit package (CommunityToolkit.Aspire.Hosting.Python.Extensions), not the first-party package.

What's Missing

The following APIs are documented only in what's-new-in-aspire-13:

// These are in Aspire.Hosting.Python - NOT the Community Toolkit
builder.AddPythonApp("etl-job", "../etl", "process_data.py");
builder.AddPythonModule("celery-worker", "../worker", "celery");
builder.AddPythonExecutable("api", "../api", "gunicorn");
builder.AddUvicornApp("api", "./api", "main:app");

// Package management
.WithUv()   // uv package manager
.WithPip()  // pip package manager
.WithVirtualEnvironment(".venv", createIfNotExists: true)

Suggested Content

  1. Hosting integration section with all 4 app types
  2. Package management - WithUv vs WithPip, auto-detection behavior
  3. Virtual environment configuration - paths, auto-creation
  4. Dockerfile generation - automatic multi-stage builds
  5. Python version detection - .python-version, pyproject.toml, fallback
  6. VS Code debugging - breakpoints work automatically
  7. Examples - FastAPI, Flask, Celery worker patterns

Why It Matters

Python is now a "first-class citizen" in Aspire 13 - this is a major selling point. Users searching for "Aspire Python" find the Community Toolkit doc which uses different APIs.

Labels

documentation, area-docs, python

[Docs] Create MCP (Model Context Protocol) documentation

Summary

Aspire 13.1 introduced comprehensive MCP support for AI coding agents, but there's no standalone documentation for this feature.

What's Missing

CLI Commands

aspire mcp init  # Configure MCP for VS Code, GitHub Copilot CLI, Claude Code, Open Code

MCP Tools Exposed

  • list_integrations - Returns available Aspire hosting integrations
  • get_integration_docs - Retrieves detailed docs for a specific integration
  • list_apphosts - Lists all detected AppHost projects
  • select_apphost - Switches context to a specific AppHost

Dashboard MCP Integration

When connected to an AppHost, the dashboard exposes MCP endpoints for AI agents to query resource state, view logs, and inspect traces.

Suggested Content

  1. What is MCP - Brief intro to Model Context Protocol
  2. aspire mcp init - Command reference with all options
  3. Supported AI Agents - VS Code, GitHub Copilot CLI, Claude Code, Open Code
  4. MCP Tools Reference - Each tool with examples
  5. Dashboard MCP Server - How to use with running apps
  6. AGENTS.md generation - Optional agent instructions file

Why It Matters

MCP is a major differentiator for AI-assisted development. Users configuring Copilot or Claude with Aspire have no reference docs.

Labels

documentation, area-docs, ai, mcp

[Docs] Create aspire do pipelines documentation

Summary

Aspire 13.0 introduced aspire do pipelines as the replacement for publishing callbacks. This is only documented in what's-new, with no standalone reference.

What's Missing

Core Concepts

// Old way (deprecated)
.WithPublishingCallback(async (context, ct) => { ... });

// New way
.WithPipelineStepFactory(context => {
    return new PipelineStep() {
        Name = "CustomDeployStep",
        Action = CustomDeployAsync,
        RequiredBySteps = [WellKnownPipelineSteps.Publish]
    };
});

CLI Commands

aspire do              # Run default pipeline
aspire do build        # Run build step
aspire do push         # Push to container registry
aspire do deploy       # Deploy to target
aspire do deploy-api   # Run specific named step

WellKnownPipelineSteps

  • Build / Publish / Deploy - standard steps
  • Custom step registration and dependencies

Suggested Content

  1. What is aspire do - Pipeline concept overview
  2. Built-in steps - build, push, publish, deploy
  3. Running specific steps - aspire do <step-name>
  4. Custom pipeline steps - PipelineStep, dependencies, RequiredBySteps
  5. Migration guide - From WithPublishingCallback to WithPipelineStepFactory
  6. Examples - Multi-environment deploys, custom build steps

Why It Matters

Publishing callbacks are deprecated. Users upgrading from 9.x need migration guidance, and the pipeline system is central to deployment.

Labels

documentation, area-docs, deployment, cli

[Docs] Document polyglot connection properties

Summary

Aspire 13.0 introduced polyglot-friendly connection properties for database resources, exposing multiple formats (URI, JDBC, individual properties). This is not documented in any database integration doc.

What's Missing

Connection Property Expressions

var postgres = builder.AddPostgres("db").AddDatabase("mydb");

// .NET uses standard connection strings
var dotnetApi = builder.AddProject<Projects.Api>()
    .WithReference(postgres);

// Python uses URI format
var pythonWorker = builder.AddPythonModule("worker", "./worker", "worker.main")
    .WithEnvironment("DATABASE_URL", postgres.Resource.UriExpression);

// Java uses JDBC format
var javaApp = builder.AddExecutable("java-app", ...)
    .WithEnvironment("DB_JDBC", postgres.Resource.JdbcConnectionStringExpression);

Auto-exposed Environment Variables

When using WithReference(), these are automatically set:

  • DB_URI - PostgreSQL URI: postgresql://user:pass@host:port/dbname
  • DB_JDBCCONNECTIONSTRING - JDBC: jdbc:postgresql://host:port/dbname
  • DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_DATABASENAME

Note: JDBC connection string excludes credentials for security.

Suggested Content

  1. Add to each database integration doc - PostgreSQL, MySQL, SQL Server, MongoDB, Oracle
  2. Property reference table - Which properties each resource type exposes
  3. Language-specific examples - Python, Java, Go usage patterns
  4. Security note - JDBC excludes credentials, use separate env vars

Why It Matters

This is THE key feature for polyglot development. Non-.NET developers need to know what environment variables are available.

Labels

documentation, area-docs, polyglot, databases

[Docs] Create persistent containers documentation

Summary

Persistent containers (WithLifetime(ContainerLifetime.Persistent)) were enhanced in Aspire 9.4 but have no standalone documentation.

What's Missing

Core API

var database = builder.AddPostgres("postgres")
    .WithLifetime(ContainerLifetime.Persistent)  // Survives app restarts
    .WithExplicitStart();                         // Manual start control

Key Behaviors (from what's-new 9.4)

  • Improved lifecycle coordination between WithExplicitStart and Persistent
  • Automatic persistent networking - separate Docker network for persistent containers
  • Container delay start - more reliable startup sequencing
  • Network isolation - persistent vs session-scoped containers use separate networks

Suggested Content

  1. When to use persistent containers - stateful services, databases, long-running processes
  2. Lifecycle behavior - what happens on app restart
  3. Networking - automatic network creation, isolation from session containers
  4. WithExplicitStart interaction - how the two features work together
  5. Cleanup - how to remove persistent containers
  6. Examples - database development, shared cache across runs

Why It Matters

Users frequently ask about keeping databases running across app restarts. Current behavior is undocumented.

Labels

documentation, area-docs, containers, app-model

[Docs] Document external service modeling

Summary

Aspire 9.4 introduced AddExternalService() for modeling third-party APIs and existing infrastructure not managed by Aspire. This is only in what's-new.

What's Missing

Core API

var builder = DistributedApplication.CreateBuilder(args);

// Reference an external service by URL
var externalApi = builder.AddExternalService("external-api", "https://api.company.com");

// Or use a parameter for dynamic configuration
var apiUrl = builder.AddParameter("api-url");
var externalDb = builder.AddExternalService("external-db", apiUrl)
    .WithHttpHealthCheck("/health");

var myService = builder.AddProject<Projects.MyService>("my-service")
    .WithReference(externalApi)
    .WithReference(externalDb);

Features

  • External services appear in the Aspire dashboard with health status
  • Can be referenced like any other resource
  • Support same configuration patterns as internal resources
  • Health checks via WithHttpHealthCheck()

Suggested Content

  1. When to use external services - third-party APIs, legacy systems, shared infrastructure
  2. API reference - AddExternalService overloads
  3. Health checks - WithHttpHealthCheck configuration
  4. Dashboard integration - how external services appear
  5. Examples - external database, payment API, auth service

Why It Matters

Most real-world apps integrate with external services. Users need to model these dependencies for accurate architecture visualization.

Labels

documentation, area-docs, app-model

[Docs] Document container registry resource

Summary

Aspire 13.1 introduced ContainerRegistryResource for general-purpose container registries beyond Azure Container Registry. Only documented in what's-new.

What's Missing

Core API

var builder = DistributedApplication.CreateBuilder(args);

// Add a generic container registry
var registry = builder.AddContainerRegistry("myregistry", "registry.example.com");

var api = builder.AddProject<Projects.Api>("api")
    .WithContainerRegistry(registry);

Pipeline Integration

$ aspire do push
# Builds images and pushes to configured registry

Azure Container Apps Explicit Registry

// Explicit ACR configuration (13.1)
var acr = builder.AddAzureContainerAppEnvironment("myenv");

var api = builder.AddProject<Projects.Api>("api")
    .WithContainerRegistry(acr);

Suggested Content

  1. Generic container registries - DockerHub, Harbor, etc.
  2. Azure Container Registry - explicit vs implicit provisioning
  3. aspire do push - pipeline step for image pushing
  4. Authentication - registry credentials configuration
  5. Examples - DockerHub, private registry, ACR

Why It Matters

Container registry configuration was implicit before. Users need to understand the new explicit model.

Labels

documentation, area-docs, containers, deployment

[Docs] Document enhanced endpoint URL support (0.0.0.0 binding)

Summary

Aspire 9.4 added support for non-localhost URLs including 0.0.0.0 binding for LAN access. Not documented in inner-loop-networking-overview.

What's Missing

Core Feature

var builder = DistributedApplication.CreateBuilder(args);

// Endpoints targeting all addresses get multiple URL variants
var api = builder.AddProject<Projects.Api>("api")
    .WithEndpoint("https", e => e.TargetHost = "0.0.0.0");

// Machine name URLs for external access
var publicService = builder.AddProject<Projects.PublicService>("public")
    .WithEndpoint("https", e => e.TargetHost = "0.0.0.0");

Launch Profile Support

{
  "profiles": {
    "https": {
      "applicationUrl": "https://*:7001;http://*:5001"
    }
  }
}

Key Capabilities

  • Custom *.localhost subdomain support
  • Automatic endpoint URL generation for multiple addresses
  • Both localhost and machine name URLs in dashboard
  • Works with Codespaces and remote development

Suggested Content

Add to inner-loop-networking-overview:

  1. External access - binding to 0.0.0.0 for LAN access
  2. Mobile development - accessing from devices on same network
  3. Codespaces/remote dev - machine name URLs
  4. Multiple URL variants - how they appear in dashboard
  5. launchSettings.json - configuring via launch profiles

Why It Matters

Users frequently ask how to access Aspire apps from mobile devices or other machines on LAN. GitHub Discussions show 40+ questions on this topic.

Labels

documentation, area-docs, networking

[Docs] Document WithContainerFiles API

Summary

Aspire 9.4 introduced WithContainerFiles for copying files into containers with permission control. Not documented outside what's-new.

What's Missing

Core API

var myContainer = builder.AddContainer("myapp", "myapp:latest")
    // Simple file copying
    .WithContainerFiles("/app/config", "./config-files")
    
    // With ownership
    .WithContainerFiles("/app/data", "./data", 
        defaultOwner: 1000, 
        defaultGroup: 1000)
    
    // With permissions
    .WithContainerFiles("/app/scripts", "./scripts", 
        umask: UnixFileMode.UserRead | UnixFileMode.UserWrite);

Dynamic File Generation

var dynamicContainer = builder.AddContainer("worker", "worker:latest")
    .WithContainerFiles("/app/runtime-config", async (context, ct) => {
        var configFile = new ContainerFileSystemItem {
            Name = "app.json",
            Contents = JsonSerializer.SerializeToUtf8Bytes(new { 
                Environment = "Production" 
            })
        };
        return new[] { configFile };
    });

Suggested Content

  1. Static file mounting - copying directories into containers
  2. File permissions - owner, group, umask
  3. Dynamic file generation - callback-based content creation
  4. Use cases - config files, certificates, init scripts
  5. Examples - nginx config, app settings, SSL certs

Why It Matters

Configuration file mounting is a common need. Without docs, users resort to complex volume mounts.

Labels

documentation, area-docs, containers

[Docs] Create Aspire 13.x migration guide

Summary

Aspire 13.0 and 13.1 have significant breaking changes that are only documented in what's-new. Need a dedicated migration guide.

Breaking Changes to Document

Package Renames

<!-- Before (9.x) -->
<PackageReference Include="Aspire.Hosting.NodeJs" Version="9.x.x" />

<!-- After (13.0) -->
<PackageReference Include="Aspire.Hosting.JavaScript" Version="13.0.0" />

API Signature Changes

AddNodeApp refactored:

// Before (9.x) - absolute scriptPath with optional workingDirectory
builder.AddNodeApp("frontend", "/absolute/path/to/app.js", 
    workingDirectory: "/absolute/path/to");

// After (13.0) - appDirectory with relative scriptPath
builder.AddNodeApp("frontend", "../frontend", "app.js");

AddNpmApp removed:

// Before (9.x)
builder.AddNpmApp("frontend", "../frontend", scriptName: "dev");

// After (13.0)
builder.AddJavaScriptApp("frontend", "../frontend")
    .WithRunScript("dev");

Lifecycle Hooks → Events

// Before (9.x)
public class MyHook : IDistributedApplicationLifecycleHook { ... }
builder.Services.TryAddLifecycleHook<MyHook>();

// After (13.0)
public class MySubscriber : IDistributedApplicationEventingSubscriber { ... }
builder.Services.TryAddEventingSubscriber<MySubscriber>();

Publishing Callbacks → Pipeline Steps

// Before (9.x)
.WithPublishingCallback(async (context, ct) => { ... });

// After (13.0)
.WithPipelineStepFactory(context => new PipelineStep() { ... });

Connection Property Renames (13.1)

Resource Old New
GitHub Models Model ModelName
OpenAI model Model ModelName
Milvus database Database DatabaseName
MongoDB database Database DatabaseName
MySQL database Database DatabaseName

Azure Redis Rename (13.1)

// Before
builder.AddAzureRedisEnterprise("cache");

// After
builder.AddAzureManagedRedis("cache");

Suggested Content

  1. Quick migration checklist - package updates, API changes
  2. Package rename mapping - old → new
  3. API signature changes - with before/after examples
  4. Lifecycle hooks migration - step-by-step
  5. Publishing callbacks migration - step-by-step
  6. Breaking behavior changes - EndpointReference.GetValueAsync now waits

Why It Matters

Users upgrading from 9.x hit compilation errors with no clear guidance. What's-new is comprehensive but not organized as a migration checklist.

Labels

documentation, area-docs, migration, breaking-change

[Docs] Add RabbitMQ auto activation to rabbitmq-integration

Summary

RabbitMQ client connections now support auto activation (introduced in 9.5) to prevent startup deadlocks. This is not documented in rabbitmq-integration.

What's Missing

From what's-new-in-aspire-95:

var builder = WebApplication.CreateBuilder(args);

// Auto activation is disabled by default for RabbitMQ
// Enable using DisableAutoActivation=false
builder.AddRabbitMQClient("messaging", o => o.DisableAutoActivation = false);

Key Points

  • Auto activation is disabled by default in 9.5
  • Planned to be enabled by default in a future release
  • Prevents startup deadlocks in certain scenarios

Suggested Content

Add to rabbitmq-integration doc, Client integration section:

  1. Auto activation - what it does, why it exists
  2. Configuration - DisableAutoActivation option
  3. When to enable - scenarios where it helps
  4. Default behavior changes - note future default change

Labels

documentation, area-docs, rabbitmq

[Docs] Add Redis client builder pattern to redis-integration

Summary

Aspire 9.5 introduced a new Redis client builder pattern with fluent configuration for distributed caching and Azure authentication. Not documented in redis-integration.

What's Missing

From what's-new-in-aspire-95:

Basic Usage

var builder = WebApplication.CreateBuilder(args);

builder.AddRedisClientBuilder("redis")
    .WithDistributedCache(options => {
        options.InstanceName = "MyApp";
    });

Azure Authentication

// Requires Aspire.Microsoft.Azure.StackExchangeRedis package
builder.AddRedisClientBuilder("redis")
    .WithAzureAuthentication()
    .WithDistributedCache(options => {
        options.InstanceName = "MyApp";
    });

Auto Activation

// Auto activation is disabled by default, enable with:
builder.AddRedisClient("redis", c => c.DisableAutoActivation = false);

Suggested Content

Add to redis-integration doc, Client integration section:

  1. Client builder pattern - AddRedisClientBuilder fluent API
  2. Distributed caching - WithDistributedCache configuration
  3. Output caching - WithOutputCache if supported
  4. Azure authentication - WithAzureAuthentication with separate package
  5. Auto activation - DisableAutoActivation option

Labels

documentation, area-docs, redis

[Docs] Create VS Code extension documentation

Summary

Aspire 13.0 introduced a VS Code extension with debugging support for Python, JavaScript, and .NET applications. No dedicated documentation exists.

What's Missing

From what's-new-in-aspire-13:

Features

  • Launch and debug Aspire applications from VS Code
  • Python debugging with breakpoints (automatic - no config needed)
  • JavaScript/Node.js debugging
  • .NET debugging
  • Resource visualization

Debugging Scenarios Mentioned

  • Python scripts (AddPythonApp)
  • Python modules (AddPythonModule)
  • Flask applications
  • Uvicorn/FastAPI (ASGI with async/await)
  • Vite applications
  • Node.js applications

Suggested Content

  1. Installation - How to install the extension
  2. Getting started - Launch an Aspire app from VS Code
  3. Python debugging - Breakpoints, variable inspection
  4. JavaScript debugging - Node.js and Vite apps
  5. .NET debugging - Standard .NET debugging
  6. Multi-language debugging - Debugging polyglot apps
  7. Configuration - launch.json settings if any

Why It Matters

VS Code is the primary IDE for Python and JavaScript developers. They need to know Aspire has first-class VS Code support.

Labels

documentation, area-docs, vscode, debugging

[Docs] Create Azure Kusto / Data Explorer integration documentation

Summary

Aspire 9.5 added a preview package Aspire.Hosting.Azure.Kusto for Azure Data Explorer. No integration doc exists.

What's Missing

From what's-new-in-aspire-95:

var builder = DistributedApplication.CreateBuilder(args);

var db = builder.AddAzureKustoCluster("kusto")
    .RunAsEmulator()
    .AddReadWriteDatabase("sensorreadings");

builder.Build().Run();

Features

  • AddAzureKustoCluster - Add a Kusto cluster resource
  • RunAsEmulator - Local development with emulator
  • AddReadWriteDatabase - Add a database to the cluster

Suggested Content

Create azure-kusto-integration doc with:

  1. Hosting integration

    • Package installation (Aspire.Hosting.Azure.Kusto)
    • AddAzureKustoCluster API
    • AddReadWriteDatabase for databases
  2. Local development

    • RunAsEmulator configuration
    • Emulator container details
  3. Azure provisioning

    • Bicep generation
    • Configuration options
  4. Client integration (if exists)

    • Kusto client registration
    • Query examples

Labels

documentation, area-docs, azure, kusto

[Docs] Document container-based builds / WithDockerfileBuilder

Summary

Aspire 13.0 introduced automatic Dockerfile generation and WithDockerfileBuilder APIs for Python, JavaScript, and custom scenarios. These are experimental but not documented.

What's Missing

From what's-new-in-aspire-13:

Automatic Dockerfile Generation

Python and JavaScript apps automatically generate production-ready Dockerfiles when publishing:

  • Multi-stage builds
  • Package manager detection (pip/uv, npm/yarn/pnpm)
  • Python version detection from .python-version, pyproject.toml
  • Node.js version detection from .nvmrc, .node-version, package.json

WithDockerfileBuilder (Experimental)

// Experimental API
#pragma warning disable ASPIREXXX
var app = builder.AddContainer("myapp", "myimage")
    .WithDockerfileBuilder(...);
#pragma warning restore ASPIREXXX

Suggested Content

  1. Auto Dockerfile generation - How it works for Python/JS
  2. Version detection - Where versions are read from
  3. Customizing builds - WithDockerfileBuilder experimental API
  4. Multi-stage builds - How they're structured
  5. Examples - Python with uv, Node with pnpm

Labels

documentation, area-docs, containers, experimental

[Docs] Document C# file-based apps (AddCSharpApp)

Summary

Aspire 13.0 introduced experimental support for C# file-based apps via AddCSharpApp. Not documented.

What's Missing

From what's-new-in-aspire-13 (experimental features section):

#pragma warning disable ASPIREXXX // Experimental feature
var app = builder.AddCSharpApp("myapp", "./app.cs");
#pragma warning restore ASPIREXXX

Features

  • Run single-file C# apps without a project file
  • Automatic compilation
  • Integration with Aspire orchestration

Suggested Content

  1. What are file-based apps - Single-file C# without .csproj
  2. AddCSharpApp API - Usage and options
  3. Limitations - Experimental status, what works/doesn't
  4. Examples - Simple API, script scenarios

Note

This is experimental ([Experimental] attribute) so may not need full documentation until stabilized. Could be a short "experimental features" page.

Labels

documentation, area-docs, experimental

[Docs] Add missing Azure 13.1 features to existing docs

Summary

Several Azure features from Aspire 13.1 are documented in what's-new but NOT in their respective integration docs.

Missing Features

1. WithDeploymentSlot for App Service (13.1)

What's New says:

builder.AddAzureAppServiceEnvironment("appservice")
    .WithDeploymentSlot("staging");

Current doc: azure-app-service-integration exists but does NOT mention WithDeploymentSlot.

Action: Add deployment slots section to azure-app-service-integration.

2. ClearDefaultRoleAssignments (13.1)

What's New says:

// Disable automatic role assignments on Azure resources
builder.AddAzureStorage("storage")
    .ClearDefaultRoleAssignments();

Current doc: manage-azure-role-assignments covers WithRoleAssignments to override, but NOT ClearDefaultRoleAssignments to completely disable.

Action: Add section on clearing/disabling default roles to manage-azure-role-assignments.

3. Azure Managed Redis Rename (13.1)

Breaking change:

// Old (deprecated)
builder.AddAzureRedisEnterprise("cache");

// New
builder.AddAzureManagedRedis("cache");

Action: Verify azure-cache-for-redis-integration uses new API name.

Labels

documentation, area-docs, azure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment