Azure / Azure/azure-dev

[Feature] `azd provision --preview` omits hook effects — surface or account for them

Open
#9,252 0 comments 0 reactions 0 assignees View on GitHub
area/hooks enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.