Follow-up items from PR #7053 review
This issue tracks all unresolved review feedback from PR #7053 (local preflight validation). The team decided to merge the PR and follow up on the provided feedback in separate issues.
Summary of items to address
| # |
Sub-issue |
PR Conversations |
Files |
Description |
| 1 |
#7113 |
1, 2, 3 |
local-preflight-validation.md, provider.go |
Rename feature from "preflight" to "validation" (e.g. validation.provision). Lowercase DeploymentStateSkipped constant. Use "canceled" instead of "abort". |
| 2 |
#7114 |
1, 2 |
local-preflight-validation.md |
Add telemetry for success/failure counts, failing checks, user actions. Create unique IDs for rules and diagnostics. |
| 3 |
#7115 |
1, 2 |
local-preflight-validation.md, bicep_provider.go |
Remove abort logic. Always let the user decide to continue even on validation errors. |
| 4 |
#7116 |
1, 2, 3, 4 |
local-preflight-validation.md, bicep_provider.go, local_preflight.go |
Rules in separate files, multiple diagnostics per rule, lazy preprocessing instead of global. |
| 5 |
#7117 |
1, 2 |
local-preflight-validation.md, local_preflight.go |
Evaluate struct vs map for snapshot resources. Revisit after more rules are added. |
| 6 |
#7118 |
1, 2, 3 |
permissions.go |
Cache permission results, remove unnecessary nil checks, consider glob matching library. |
| 7 |
#7119 |
1, 2, 3, 4, 5 |
bicep_provider.go, local_preflight.go |
Add Suggestion field, check .parameters.json, pass location to snapshot, improve docs, add RBAC docs link. |
| 8 |
#7120 |
1, 2 |
local_preflight.go |
Extract parameter utilities to reusable package. Consider reference() for KeyVault secrets. |
| 9 |
#7121 |
1 |
preflight_report.go |
Check and remove unused exported code. |
Context
Follow-up items from PR #7053 review
This issue tracks all unresolved review feedback from PR #7053 (local preflight validation). The team decided to merge the PR and follow up on the provided feedback in separate issues.
Summary of items to address
local-preflight-validation.md,provider.govalidation.provision). LowercaseDeploymentStateSkippedconstant. Use "canceled" instead of "abort".local-preflight-validation.mdlocal-preflight-validation.md,bicep_provider.golocal-preflight-validation.md,bicep_provider.go,local_preflight.golocal-preflight-validation.md,local_preflight.gopermissions.gobicep_provider.go,local_preflight.goSuggestionfield, check.parameters.json, pass location to snapshot, improve docs, add RBAC docs link.local_preflight.goreference()for KeyVault secrets.preflight_report.goContext