Azure / Azure/azure-dev

Follow-up: Address review feedback from PR #7053 (local preflight validation)

Open
#7,112 0 comments 0 reactions 1 assignee Claimed by @vhvb1989 View on GitHub
area/core-cli feature
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

## Follow-up items from PR #7053 review

This issue tracks all unresolved review feedback from [PR #7053](https://github.com/Azure/azure-dev/pull/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](https://github.com/Azure/azure-dev/pull/7053#discussion_r2925734012), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928191553), [3](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928200315) | `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](https://github.com/Azure/azure-dev/pull/7053#discussion_r2925756922), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2926686327) | `local-preflight-validation.md` | Add telemetry for success/failure counts, failing checks, user actions. Create unique IDs for rules and diagnostics. |
| 3 | #7115 | [1](https://github.com/Azure/azure-dev/pull/7053#discussion_r2926673536), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928012020) | `local-preflight-validation.md`, `bicep_provider.go` | Remove abort logic. Always let the user decide to continue even on validation errors. |
| 4 | #7116 | [1](https://github.com/Azure/azure-dev/pull/7053#discussion_r2926690629), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928021952), [3](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928031828), [4](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928180945) | `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](https://github.com/Azure/azure-dev/pull/7053#discussion_r2926664634), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2926762069) | `local-preflight-validation.md`, `local_preflight.go` | Evaluate struct vs map for snapshot resources. Revisit after more rules are added. |
| 6 | #7118 | [1](https://github.com/Azure/azure-dev/pull/7053#discussion_r2927943744), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2927966830), [3](https://github.com/Azure/azure-dev/pull/7053#discussion_r2927991043) | `permissions.go` | Cache permission results, remove unnecessary nil checks, consider glob matching library. |
| 7 | #7119 | [1](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928055251), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928068950), [3](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928074057), [4](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928082750), [5](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928089768) | `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](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928108476), [2](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928117436) | `local_preflight.go` | Extract parameter utilities to reusable package. Consider `reference()` for KeyVault secrets. |
| 9 | #7121 | [1](https://github.com/Azure/azure-dev/pull/7053#discussion_r2928210151) | `preflight_report.go` | Check and remove unused exported code. |

### Context
- PR: #7053
- Feature: Local preflight validation before bicep deployment
- Reviewers: @tg-msft, @rajeshkamal5050

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.