A read-only AI agent that scans your Azure subscription, ranks daily spend, and produces typed recommendations — downsize, change tier, reserve, decommission — each backed by verbatim evidence from Cost Management, Resource Graph, and Log Analytics. Nothing in your subscription is ever mutated.
assign-subscription-roles.sh script once as a subscription Owner. It assigns Reader, Cost Management Reader, and Monitoring Reader so the agent can query your data. Idempotent — safe to re-run.containerAppUrl — it looks like https://ca-<name>-<env>.<region>.azurecontainerapps.io. Also note the identityPrincipalId — you'll need it next.az login as a subscription Owner or User Access Administrator.
./scripts/assign-subscription-roles.sh --principal-id <identityPrincipalId>
Reader
Cost Management Reader
Monitoring Reader
<containerAppUrl>/.auth/login/aad/callback for the Easy Auth sign-in flow.
containerAppUrl — required by the MSAL SPA flow when Easy Auth is disabled.
AADSTS50011 redirect-mismatch error on sign-in.
id-<appName>-<env>) found in the managed resource group:
Cognitive Services OpenAI Contributor
Cognitive Services User
Azure AI Developer
containerAppUrl in your browser. Sign in with your Microsoft Entra account, choose a radar (Cost / Capital-Intensive / Compliance), and trigger the scan. If sign-in fails with a redirect error, double-check the URI was added to the correct platform in step 3. If results come back empty, confirm step 2 has been completed.