Skip to content

[Hubs] Recommendations app#2065

Draft
flanakin wants to merge 11 commits intodevfrom
features/hubs-recs
Draft

[Hubs] Recommendations app#2065
flanakin wants to merge 11 commits intodevfrom
features/hubs-recs

Conversation

@flanakin
Copy link
Copy Markdown
Collaborator

@flanakin flanakin commented Mar 21, 2026

🛠️ Description

This PR merges the features/hubs-recs branch into dev. All PRs have been approved in that branch already.

Blocked on #2066


Add recommendations support to FinOps hubs, including Azure Resource Graph (ARG) based recommendations ingestion, a dedicated Recommendations app module, 15+ custom recommendation queries, and supporting documentation.

Key changes:

  • Add ARG-based recommendations ingestion pipeline
  • Split recommendations into a dedicated app module (separate from IngestionQueries) for better modularity
  • Add custom recommendation queries (stopped VMs, unattached disks/NICs/IPs, VMs without AHB, non-spot AKS, etc.)
  • Add parameters to control noisy recommendations and force lowercase on common filters/group bys
  • Add recommendations feature documentation and best practices content
  • Prep branch for v14

Fixes #2011, #2010, #2003

📋 Checklist

🔬 How did you test this change?

  • 🤏 Lint tests
  • 🤞 PS -WhatIf / az validate
  • 👍 Manually deployed + verified
  • 💪 Unit tests
  • 🙌 Integration tests

🙋‍♀️ Do any of the following that apply?

  • 🚨 This is a breaking change.
  • 🤏 The change is less than 20 lines of code.

📑 Did you update docs/changelog.md?

  • ✅ Updated changelog (required for dev PRs)
  • ➡️ Will add log in a future PR (feature branch PRs only)
  • ❎ Log not needed (small/internal change)

📖 Did you update documentation?

  • ✅ Public docs in docs (required for dev)
  • ✅ Public docs in docs-mslearn (required for dev)
  • ✅ Internal dev docs in docs-wiki (required for dev)
  • ✅ Internal dev docs in src (required for dev)
  • ➡️ Will add docs in a future PR (feature branch PRs only)
  • ❎ Docs not needed (small/internal change)

flanakin and others added 11 commits February 13, 2026 01:57
- Add Recommendations app with ARM linked service and Resource Graph dataset
- Add queries_ExecuteETL and queries_ETL_ingestion pipelines
- Add 10 ARG query files for cost optimization recommendations:
  - Azure Advisor cost recommendations
  - Backendless Application Gateways and Load Balancers
  - Empty SQL Elastic Pools
  - Non-Spot AKS Clusters
  - SQL VMs and Windows VMs without Azure Hybrid Benefit
  - Stopped VMs (not deallocated)
  - Unattached Disks and Public IPs
- Add recommendations_1.0.json schema file
- Add enableRecommendations parameter to hub.bicep
- Update documentation for HubsRecommendations data source

Co-Authored-By: Helder Pinto <hepint@microsoft.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: copilot-pull-request-reviewer <copilot-pull-request-reviewer@users.noreply.github.com>
Co-authored-by: helderpinto <helderpinto@users.noreply.github.com>
…hubs-recs

# Conflicts:
#	docs-mslearn/toolkit/changelog.md
#	docs-mslearn/toolkit/hubs/template.md
Co-authored-by: RolandKrummenacher <RolandKrummenacher@users.noreply.github.com>
Co-authored-by: copilot-pull-request-reviewer <copilot-pull-request-reviewer@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 21, 2026 10:56
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs: Review 👀 PR that is ready to be reviewed label Mar 21, 2026
@flanakin flanakin changed the title Add recommendations support to FinOps hubs [Hubs] Recommendations app Mar 21, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds Azure Resource Graph (ARG)-based recommendations ingestion to the FinOps hubs template, including a new query-engine app, a recommendations app that uploads query/schema config, and supporting tests/docs, while also bumping the repo to v14.0.0-dev.

Changes:

  • Introduces new FinOps hubs apps for query orchestration (IngestionQueries), an ARG execution engine (AzureResourceGraph), and configurable Recommendations (query + schema uploads).
  • Adds a post-copy build step to generate loadTextContent() query-file mappings and updates KQL transforms to normalize recommendation details.
  • Updates deployment UX (createUiDefinition), docs (recommendations + best practices), and versioning/test scaffolding for v14.

Reviewed changes

Copilot reviewed 176 out of 177 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/workbooks/.scaffold/ftkver.txt Bumps workbook scaffold version to 14.0-dev.
src/templates/finops-workbooks/ftkver.txt Bumps workbooks template version to 14.0-dev.
src/templates/finops-hub/modules/hub.bicep Wires optional recommendations apps into hub deployment and trigger initialization.
src/templates/finops-hub/modules/fx/ftkver.txt Bumps fx module version to 14.0-dev.
src/templates/finops-hub/modules/fx/ftktag.txt Bumps fx tag to v14.0-dev.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/schemas/recommendations_1.0.json Adds ADF schema translator for recommendations ingestion.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-VMsWithoutAHB.json Adds ARG recommendation query (AHB).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-UnprovisionedExpressRouteCircuits.json Adds ARG recommendation query (ExpressRoute).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-UnmanagedDisks.json Adds ARG recommendation query (unmanaged disks).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-UnattachedPublicIPs.json Adds ARG recommendation query (public IPs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-UnattachedNICs.json Adds ARG recommendation query (NICs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-UnattachedDisks.json Adds ARG recommendation query (managed disks).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-UnassociatedDDoSPlans.json Adds ARG recommendation query (DDoS plans).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-StoppedVMs.json Adds ARG recommendation query (stopped-not-deallocated VMs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-SQLVMsWithoutAHB.json Adds ARG recommendation query (SQL AHB).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-PremiumSnapshots.json Adds ARG recommendation query (premium snapshots).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-OrphanedNATGateways.json Adds ARG recommendation query (NAT gateways).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-NonSpotAKSClusters.json Adds ARG recommendation query (AKS spot).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-LegacyStorageAccounts.json Adds ARG recommendation query (legacy storage).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-IdleVNetGateways.json Adds ARG recommendation query (VPN gateways).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-EmptySQLElasticPools.json Adds ARG recommendation query (elastic pools).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-EmptyNSGs.json Adds ARG recommendation query (NSGs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-EmptyAppServicePlans.json Adds ARG recommendation query (App Service plans).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-ClassicAppGateways.json Adds ARG recommendation query (App Gateway v1).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-BasicPublicIPs.json Adds ARG recommendation query (Basic public IPs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-BasicLoadBalancers.json Adds ARG recommendation query (Basic LBs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-BackendlessLoadBalancers.json Adds ARG recommendation query (backendless LBs).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-BackendlessAppGateways.json Adds ARG recommendation query (backendless AppGW).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/queries/Recommendations-Microsoft-AdvisorCost.json Adds ARG query for Azure Advisor cost recommendations.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Recommendations/app.bicep New app to upload recommendation query files + schema files into hub storage.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/IngestionQueries/metadata.bicep Exports typed metadata for query storage locations.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/IngestionQueries/README.md Documents orchestrator contract and file formats.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/AzureResourceGraph/metadata.bicep Exports typed metadata for ARG datasets.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/AzureResourceGraph/app.bicep New ARG engine app (ADF REST dataset + execution pipeline).
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/AzureResourceGraph/README.md Documents ARG engine behavior and limitations.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Analytics/scripts/IngestionSetup_v1_2.kql Updates recommendations transform to parse/normalize details and lower-case key fields.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Analytics/scripts/IngestionSetup_HubInfra.kql Fixes provider-path parsing for resource IDs lacking /providers/.
src/templates/finops-hub/modules/Microsoft.FinOpsHubs/Analytics/scripts/HubSetup_v1_2.kql Projects additional recommendation columns from final dataset.
src/templates/finops-hub/main.bicep Adds recommendation-related parameters and passes them into hub module.
src/templates/finops-hub/createUiDefinition.json Adds a new deployment step for enabling/configuring recommendations.
src/templates/finops-hub/.build.config Adds template post-copy script for generating query-file mappings.
src/templates/finops-alerts/modules/ftkver.txt Bumps alerts module version to 14.0-dev.
src/scripts/Update-Version.ps1 Extends version update to also update changelog + integration test version list.
src/scripts/Test-PowerShell.ps1 Adjusts hubs test file matching to include new Hubs* tests.
src/scripts/Build-Toolkit.ps1 Adds support for running per-template custom build scripts.
src/scripts/Build-HubIngestionQueries.ps1 New generator for Recommendations/app.bicep query-file mapping block.
src/powershell/Tests/Unit/HubsIngestionQueries.Tests.ps1 New unit tests validating query/schema JSON and bicep compilation.
src/powershell/Tests/Integration/Toolkit.Tests.ps1 Updates planned release to 14 and adjusts expected release list.
src/powershell/Tests/Integration/HubsIngestionQueries.Tests.ps1 New integration tests executing ARG queries and validating schemas/perf.
src/powershell/Private/Get-VersionNumber.ps1 Bumps PowerShell version to 14.0-dev.
src/optimization-engine/ftkver.txt Bumps optimization-engine version to 14.0-dev.
package.json Bumps npm package version to 14.0.0-dev.
package-lock.json Bumps npm lockfile package version to 14.0.0-dev.
docs/_includes/ftkver.txt Bumps docs include version to 14.0-dev.
docs/_includes/ftktag.txt Bumps docs include tag to v14.0-dev.
docs-mslearn/toolkit/workbooks/optimization.md Updates ms.date.
docs-mslearn/toolkit/workbooks/governance.md Updates ms.date.
docs-mslearn/toolkit/workbooks/finops-workbooks-overview.md Updates ms.date.
docs-mslearn/toolkit/workbooks/customize-workbooks.md Updates ms.date.
docs-mslearn/toolkit/roadmap.md Updates ms.date.
docs-mslearn/toolkit/powershell/toolkit/get-finopstoolkitversion.md Updates ms.date.
docs-mslearn/toolkit/powershell/toolkit/finops-toolkit-commands.md Updates ms.date.
docs-mslearn/toolkit/powershell/powershell-commands.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/remove-finopshubscope.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/remove-finopshub.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/register-finopshubproviders.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/initialize-finopshubdeployment.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/get-finopshub.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/finops-hubs-commands.md Updates ms.date.
docs-mslearn/toolkit/powershell/hubs/deploy-finopshub.md Updates ms.date.
docs-mslearn/toolkit/powershell/data/open-data-commands.md Updates ms.date.
docs-mslearn/toolkit/powershell/data/get-finopsservice.md Updates ms.date.
docs-mslearn/toolkit/powershell/data/get-finopsresourcetype.md Updates ms.date.
docs-mslearn/toolkit/powershell/data/get-finopsregion.md Updates ms.date.
docs-mslearn/toolkit/powershell/data/get-finopspricingunit.md Updates ms.date.
docs-mslearn/toolkit/powershell/cost/start-finopscostexport.md Updates ms.date.
docs-mslearn/toolkit/powershell/cost/remove-finopscostexport.md Updates ms.date.
docs-mslearn/toolkit/powershell/cost/new-finopscostexport.md Updates ms.date.
docs-mslearn/toolkit/powershell/cost/get-finopscostexport.md Updates ms.date.
docs-mslearn/toolkit/powershell/cost/cost-management-commands.md Updates ms.date.
docs-mslearn/toolkit/powershell/cost/add-finopsserviceprincipal.md Updates ms.date.
docs-mslearn/toolkit/power-bi/workload-optimization.md Updates ms.date.
docs-mslearn/toolkit/power-bi/template-app.md Updates ms.date.
docs-mslearn/toolkit/power-bi/setup.md Updates ms.date.
docs-mslearn/toolkit/power-bi/reports.md Updates ms.date.
docs-mslearn/toolkit/power-bi/rate-optimization.md Updates ms.date.
docs-mslearn/toolkit/power-bi/invoicing.md Updates ms.date.
docs-mslearn/toolkit/power-bi/help-me-choose.md Updates ms.date.
docs-mslearn/toolkit/power-bi/governance.md Updates ms.date.
docs-mslearn/toolkit/power-bi/data-ingestion.md Updates ms.date.
docs-mslearn/toolkit/power-bi/cost-summary.md Updates ms.date.
docs-mslearn/toolkit/power-bi/connector.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/troubleshooting.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/suppress-recommendations.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/setup-options.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/reports.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/overview.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/faq.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/customize.md Updates ms.date.
docs-mslearn/toolkit/optimization-engine/configure-workspaces.md Updates ms.date.
docs-mslearn/toolkit/open-data.md Updates ms.date.
docs-mslearn/toolkit/hubs/upgrade.md Updates ms.date.
docs-mslearn/toolkit/hubs/template.md Adds recommendation parameters + formatting updates (and ms.date).
docs-mslearn/toolkit/hubs/savings-calculations.md Updates ms.date.
docs-mslearn/toolkit/hubs/private-networking.md Updates ms.date.
docs-mslearn/toolkit/hubs/finops-hubs-overview.md Updates ms.date.
docs-mslearn/toolkit/hubs/deploy.md Updates ms.date.
docs-mslearn/toolkit/hubs/data-processing.md Documents recommendations ingestion flow and supported datasets.
docs-mslearn/toolkit/hubs/data-model.md Updates recommendations dataset description to include ARG sources.
docs-mslearn/toolkit/hubs/configure-scopes.md Updates ms.date.
docs-mslearn/toolkit/hubs/configure-remote-hubs.md Updates ms.date.
docs-mslearn/toolkit/hubs/configure-recommendations.md New doc for recommendations configuration + custom queries.
docs-mslearn/toolkit/hubs/configure-dashboards.md Updates ms.date.
docs-mslearn/toolkit/hubs/configure-ai.md Updates ms.date.
docs-mslearn/toolkit/hubs/compatibility.md Updates ms.date.
docs-mslearn/toolkit/help/troubleshooting.md Updates ms.date.
docs-mslearn/toolkit/help/terms.md Updates ms.date.
docs-mslearn/toolkit/help/support.md Updates ms.date.
docs-mslearn/toolkit/help/help-options.md Updates ms.date.
docs-mslearn/toolkit/help/errors.md Updates ms.date.
docs-mslearn/toolkit/help/deploy.md Updates ms.date.
docs-mslearn/toolkit/help/data-dictionary.md Updates ms.date.
docs-mslearn/toolkit/finops-toolkit-overview.md Updates ms.date.
docs-mslearn/toolkit/data-lake-storage-connectivity.md Updates ms.date.
docs-mslearn/toolkit/changelog.md Adds unreleased hubs vNext entry and updates ms.date/markdownlint settings.
docs-mslearn/toolkit/bicep-registry/scheduled-actions.md Updates ms.date.
docs-mslearn/toolkit/bicep-registry/modules.md Updates ms.date.
docs-mslearn/toolkit/alerts/finops-alerts-overview.md Updates ms.date.
docs-mslearn/toolkit/alerts/configure-finops-alerts.md Updates ms.date.
docs-mslearn/overview.md Updates ms.date.
docs-mslearn/implementing-finops-guide.md Updates ms.date.
docs-mslearn/framework/understand/understand-cloud-usage-cost.md Updates ms.date.
docs-mslearn/framework/understand/reporting.md Updates ms.date.
docs-mslearn/framework/understand/ingestion.md Updates ms.date.
docs-mslearn/framework/understand/anomalies.md Updates ms.date.
docs-mslearn/framework/understand/allocation.md Updates ms.date.
docs-mslearn/framework/quantify/unit-economics.md Updates ms.date.
docs-mslearn/framework/quantify/quantify-business-value.md Updates ms.date.
docs-mslearn/framework/quantify/planning.md Updates ms.date.
docs-mslearn/framework/quantify/forecasting.md Updates ms.date.
docs-mslearn/framework/quantify/budgeting.md Updates ms.date.
docs-mslearn/framework/quantify/benchmarking.md Updates ms.date.
docs-mslearn/framework/optimize/workloads.md Updates ms.date.
docs-mslearn/framework/optimize/sustainability.md Updates ms.date.
docs-mslearn/framework/optimize/rates.md Updates ms.date.
docs-mslearn/framework/optimize/optimize-cloud-usage-cost.md Updates ms.date.
docs-mslearn/framework/optimize/licensing.md Updates ms.date.
docs-mslearn/framework/optimize/architecting.md Updates ms.date.
docs-mslearn/framework/manage/tools-services.md Updates ms.date.
docs-mslearn/framework/manage/operations.md Updates ms.date.
docs-mslearn/framework/manage/onboarding.md Updates ms.date.
docs-mslearn/framework/manage/manage-finops.md Updates ms.date.
docs-mslearn/framework/manage/invoicing-chargeback.md Updates ms.date.
docs-mslearn/framework/manage/intersecting-disciplines.md Updates ms.date.
docs-mslearn/framework/manage/governance.md Updates ms.date.
docs-mslearn/framework/manage/education.md Updates ms.date.
docs-mslearn/framework/manage/assessment.md Updates ms.date.
docs-mslearn/framework/finops-framework.md Updates ms.date.
docs-mslearn/framework/capabilities.md Updates ms.date.
docs-mslearn/focus/what-is-focus.md Updates ms.date.
docs-mslearn/focus/validate.md Updates ms.date.
docs-mslearn/focus/metadata.md Updates ms.date.
docs-mslearn/focus/mapping.md Updates ms.date.
docs-mslearn/focus/convert.md Updates ms.date.
docs-mslearn/focus/conformance-summary.md Updates ms.date.
docs-mslearn/focus/conformance-full-report.md Updates ms.date.
docs-mslearn/fabric/create-fabric-workspace-finops.md Updates ms.date.
docs-mslearn/conduct-iteration.md Updates ms.date.
docs-mslearn/best-practices/web.md Adds App Service plan best practice + hubs note; updates ms.date.
docs-mslearn/best-practices/storage.md Expands storage best practices aligned to new recommendations; updates formatting.
docs-mslearn/best-practices/networking.md Expands networking best practices aligned to new recommendations; updates formatting.
docs-mslearn/best-practices/library.md Updates ms.date.
docs-mslearn/best-practices/general.md Adds Azure Advisor best practice and hubs note; updates formatting.
docs-mslearn/best-practices/databases.md Expands SQL best practices aligned to recommendations; updates formatting.
docs-mslearn/best-practices/compute.md Expands compute best practices aligned to recommendations; updates formatting.
docs-mslearn/TOC.yml Adds “Configure recommendations” entry to toolkit hubs TOC.

Comment on lines +8 to +16
metadata hubApp = {
id: 'Microsoft.FinOpsHubs.Recommendations'
version: '$$ftkver$$'
dependencies: [
'Microsoft.FinOpsHubs.Core'
'Microsoft.FinOpsHubs.IngestionQueries'
'Microsoft.FinOpsHubs.AzureResourceGraph'
]
metadata: 'https://microsoft.github.io/finops-toolkit/deploy/$$ftkver$$/Microsoft.FinOpsHubs/Recommendations/metadata.bicep'
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The hubApp.metadata URL format here differs from other FinOps hub apps (for example, Core/Exports use .../deploy/finops-hub/$$ftkver$$/...). If this URL is consumed for documentation or tooling, this inconsistency can produce broken links. Please confirm the correct publish path and align it with the established pattern used by the other hub apps.

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +16
metadata hubApp = {
id: 'Microsoft.FinOpsHubs.AzureResourceGraph'
version: '$$ftkver$$'
dependencies: [
'Microsoft.FinOpsHubs.Core'
'Microsoft.FinOpsHubs.IngestionQueries'
]
metadata: 'https://microsoft.github.io/finops-toolkit/deploy/$$ftkver$$/Microsoft.FinOpsHubs/AzureResourceGraph/metadata.bicep'
}
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The hubApp.metadata URL format here differs from other FinOps hub apps (for example, Core/Exports use .../deploy/finops-hub/$$ftkver$$/...). If this URL is consumed for documentation or tooling, this inconsistency can produce broken links. Please confirm the correct publish path and align it with the established pattern used by the other hub apps.

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +9
"source": {
"path": "[['ResourceId']"
},
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The TabularTranslator mapping paths look malformed (e.g., "path": "[['ResourceId']"). For ADF REST->tabular mappings this should be a valid JSONPath (typically "$['ResourceId']" or "['ResourceId']"). As written, the Copy activity may fail to map columns at runtime even though the JSON is syntactically valid. Please update the source.path values to valid JSONPath expressions for each mapped column.

Copilot uses AI. Check for mistakes.
Comment on lines +101 to +103
| **enableRecommendations** | Bool | Optional. Enable recommendations ingested from Azure Resource Graph based on configurable queries. The Data Factory managed identity requires Reader role on management groups or subscriptions to execute Resource Graph queries. | True |
| **enableAHBRecommendations** | Bool | Optional. Enable Azure Hybrid Benefit recommendations that flag VMs and SQL VMs without Azure Hybrid Benefit enabled. May generate noise if your organization does not have on-premises licenses. Requires enableRecommendations. | False |
| **enableSpotRecommendations** | Bool | Optional. Enable non-Spot AKS cluster recommendations that flag AKS clusters with autoscaling but not using Spot VMs. May generate noise since Spot VMs are only appropriate for interruptible workloads. Requires enableRecommendations. | False |
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

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

The parameter table lists enableRecommendations with a default of True, but the Bicep template sets enableRecommendations default to false (and the UI checkbox is unchecked by default). Please fix the documented default value (and any related wording) to avoid confusing deployers.

Copilot uses AI. Check for mistakes.
@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Documentation 📝 PR needs a changelog entry, public docs, or internal docs before it can be closed and removed Needs: Documentation 📝 PR needs a changelog entry, public docs, or internal docs before it can be closed labels Mar 21, 2026
@flanakin flanakin marked this pull request as draft March 21, 2026 12:46
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs: Documentation 📝 PR needs a changelog entry, public docs, or internal docs before it can be closed label Mar 21, 2026
@microsoft-github-policy-service microsoft-github-policy-service bot added Needs: Documentation 📝 PR needs a changelog entry, public docs, or internal docs before it can be closed and removed Needs: Documentation 📝 PR needs a changelog entry, public docs, or internal docs before it can be closed labels Mar 21, 2026
@microsoft-github-policy-service
Copy link
Copy Markdown

@@flanakin, I noticed you said you would update the changelog in a future PR, but this PR is going into the dev branch. All dev branch PRs must have changelog entries to be ready for the next release. Either update the PR to target a feature branch or add a changelog entry to this PR.

@microsoft-github-policy-service microsoft-github-policy-service bot removed the Needs: Documentation 📝 PR needs a changelog entry, public docs, or internal docs before it can be closed label Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs: Review 👀 PR that is ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants