Repository navigation
Share Azure diagnostics and enable App Service end-to-end TLS - #1840
Merged
David Pine (IEvangelist) merged 1 commit intoOct 7, 2026
Merged
Conversation
Disable the hosted dashboard and send Front Door access/WAF logs and Redis database ConnectionEvents to one publish-only workspace using public provisioning APIs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 25755b21-0223-4412-91e3-41a9d431d75e
Eric Erhardt (eerhardt)
approved these changes
Oct 7, 2026
Eric Erhardt (eerhardt)
left a comment
Member
There was a problem hiding this comment.
Just one suggestion
David Pine (IEvangelist)
marked this pull request as ready for review
October 7, 2026 19:40
David Pine (IEvangelist)
deleted the
ievangelist-shared-azure-diagnostics
branch
October 7, 2026 19:42
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Production TLS behavior and diagnostic delivery still require deployment-level human verification.
0 open findings
What changed in this PR
Updates the public AppHost to share Azure diagnostics and enable App Service end-to-end TLS.
Changes:
- Adds a publish-only Log Analytics workspace for Front Door and Redis logs.
- Enables website end-to-end TLS and disables the hosted Aspire dashboard.
- Adds
Azure.Provisioning.Monitorversion1.0.0-beta.2.
| File | Description |
|---|---|
| src/apphost/Aspire.Dev.AppHost/Extensions/DeploymentExtensions.cs | Adds typed Front Door and Redis diagnostic helpers. |
| src/apphost/Aspire.Dev.AppHost/Aspire.Dev.AppHost.csproj | Adds the Monitor provisioning dependency. |
| src/apphost/Aspire.Dev.AppHost/AppHost.cs | Configures shared diagnostics, TLS, and dashboard removal. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
kali9ark-ops
approved these changes
Oct 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Configure the public AppHost to publish Front Door and Azure Managed Redis diagnostics into one shared Azure Log Analytics workspace.
WithDashboard(false)and enable website end-to-end TLS throughPublishAsAzureAppServiceWebsite.workspace-logsonly in publish mode, with SDK-generated physical naming and no retention override.WithDiagnosticshelpers usingAzure.Provisioning.Monitor1.0.0-beta.2, with no other package upgrades. Front Door'ssecurity-logssetting enablesFrontDoorAccessLogandFrontDoorWebApplicationFirewallLogon the existing CDN profile. Redis'sredis-connection-logssetting enables onlyConnectionEventson the existingdatabases/defaultresource.This is one new commit directly on freshly fetched public
main(d0da0bb0d75219668ef0685d0e451bc394eccc0d). Only the three existing AppHost source/project files change. No Ev2/private packages or artifacts, deployment-pipeline changes, additional Application Insights resources, metrics, DCRs, dedicated-table settings, or hardcoded resource IDs are included.The public Aspire 13.6 App Service defaults produce a
P0V3Premium plan. This was verified against the package's public source and generated Bicep; Microsoft Learn's App Service TLS documentation confirms Premium plans support end-to-end TLS. No hosting SKU/scaling customization is needed.Third-party links and affiliations
None.
Validation
All generated files and the comparison script were kept in a session-artifacts directory outside the repository. In the exact commands below,
$artifactswas set to that directory.AppHost-only build: passed, 0 warnings and 0 errors. Both frontend build/install scripts were disabled.
Manifest export: passed, 7/7 pipeline steps. No infrastructure was deployed.
Generated Bicep compilation: passed, all 10 modules, using Bicep CLI 0.41.2.
Generated-output inspection and baseline comparison: passed. A session-local assertion script, not a repository test or PR file, checked the compiled templates against an export of unchanged public
main:python "$artifacts\verify_shared_diagnostics.py"Confirmed exactly one SDK-named workspace; no hosted dashboard;
endToEndEncryptionEnabled: trueon the website; Front Doorscope: frontdoor_afd; Redisscope: cache_default; exactly the requested enabled log categories; and both manifest parameters referencing{workspace-logs.outputs.logAnalyticsWorkspaceId}throughworkspace_logs_outputs_loganalyticsworkspaceid. Retention, diagnostic metrics and destination-type overrides are omitted. Existing Redis resources/outputs, authentication and networking, Front Door resources/outputs, App Service plan, website identities, Redis/live-status settings, and unrelated modules are unchanged, except for the expected removal of dashboard-specific telemetry settings/resources.Diff/history checks: passed.
The branch contains one new public-only commit; its parent exactly equals freshly fetched public
main. No internal commits were cherry-picked or merged.Not performed: frontend production build, unit/E2E suites, Azure deployment or what-if, deployed destination/permissions checks, deployed retention verification, and live log delivery tests. Before deployment, confirm the intended environment/destination and retention policy; after deployment, verify Front Door access/WAF and Redis connection events reach the shared workspace. Enabling the WAF log category does not add or configure a WAF policy.