[Feature] `azd provision --preview` omits hook effects — surface or account for them
- Dominant language
- Go
- Stars
- 569
- Forks
- 364
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 136
Description
### Summary
`azd provision --preview` (what-if) **skips hooks entirely**. For a deployment whose real desired state is maintained substantially *by* hooks, the preview never reflects reality.
### Why it matters
In our setup, hooks perform RBAC grants, Key Vault seeding, App Config seeding, hosted-agent env injection, and a Logic App workflow `PUT`. `azd provision --preview` shows none of these — so the one command whose whole job is *"show me what will happen"* is silently incomplete. A reviewer cannot use the preview to reason about the actual change set.
### Ask
At minimum, `azd provision --preview` should **clearly surface** that hooks are omitted (so the preview isn't mistaken for the full plan). Better: a mechanism for hooks to contribute a **dry-run / plan** contribution so preview can reflect their intended effects.
### Note
This is partly a consequence of how much work our hooks do (see related issues); the broader fix is `azd`/IaC expressing more of that natively so fewer effects live in hooks.
---
_Context: encountered while deploying a multi-component AI/chat service (App Service + Function App + Logic App + Foundry hosted agent) end-to-end with `azd` provision/deploy in [Azure/azure-sdk-tools `tools/sdk-ai-bots/deployment`](https://github.com/Azure/azure-sdk-tools/tree/main/tools/sdk-ai-bots/deployment). We currently work around this with a TypeScript hook._
Contributor guide
Research direction
Start with the azd provision --preview path and the hook behavior used by tools/sdk-ai-bots/deployment; inspect how the TypeScript hook is invoked and what the preview reports. Done means the preview explicitly warns that hooks are omitted, or provides a documented dry-run/plan contribution representing their effects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, go, typescript
- Domain
- cli, cloud, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100