Repository navigation
Qiaozha/sdk ai bots deployment #16357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Qiaoqiao Zhang (qiaozha)
wants to merge
126
commits into
main
Choose a base branch
from
qiaozha/sdk-ai-bots-deployment
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+17,651
−346
Open
Changes from all commits
Commits
Show all changes
126 commits
Select commit
Hold shift + click to select a range
146e04e
tools/sdk-ai-bots: add standardized deployment scaffolding
qiaozha 7c8ae2d
sdk-ai-bots: wire up dev env-suite values and deployment hooks/scripts
qiaozha 9cdd492
sdk-ai-bots: make main.bicepparam and dev.parameters.json honor env-s…
qiaozha 8f6d490
sdk-ai-bots: parameterize deployLayer + split provision/deploy orches…
qiaozha d6bc5eb
sdk-ai-bots: suffix all top-level Azure resource names with envName
qiaozha d47e27b
Rename qzqabot prefix to qabot in deployment bicep files
qiaozha 9456ab6
Use uniqueString suffix for resources and wire frontend to shared sto…
qiaozha 757e360
Add resource-quota preflight check with region-alternative suggestions
qiaozha bbe5fd9
Frontend uses shared container registry instead of a dedicated one
qiaozha 7392a9a
Parameterize resource names per env; align pipelines and rollback wit…
qiaozha f7c01e6
Extract shared provision/deploy stage templates; orchestrators become…
qiaozha 2074d63
Add ephemeral PR environments via Azure Deployment Environments
qiaozha bf1294d
Add per-env bot-configs upload (channel.yaml, tenant.yaml)
qiaozha a4ea8c0
sdk-ai-bots: merge provision into CD pipelines with infra-diff gating
qiaozha 5095f64
fix: sdk-ai-bots deployment fixes for dev provision
qiaozha be5d615
Merge branch 'qiaozha/sdk-ai-bots-deployment' of github.com:Azure/azu…
qiaozha 881216e
sdk-ai-bots: fix azd provision + deploy for TME dev env
qiaozha d2052c8
sdk-ai-bots: enable local azd deploy for all services without Docker
qiaozha 24680fa
sdk-ai-bots: fix azd deploy for agent and backend, and postprovision …
qiaozha 4f48d81
sdk-ai-bots: automate Entra auth, App Config/Key Vault seeding, and b…
qiaozha 3a67dad
Merge branch 'main' into qiaozha/sdk-ai-bots-deployment
qiaozha 05efdc1
sdk-ai-bots: refine deployment hooks, infra params, and workflow defi…
qiaozha 2acabd4
Merge branch 'main' into qiaozha/sdk-ai-bots-deployment
qiaozha 3d16091
sdk-ai-bots: fix hosted agent env injection, function-app deploy, ado…
qiaozha 9bc30f7
docs(sdk-ai-bots): document re-provision idempotency caveats for depl…
qiaozha f9bce21
sdk-ai-bots: LA→bot UAMI auth, bot-configs URL templating, frontend c…
qiaozha 8111946
Add azd deployment journey slides for SDK Q&A bot
qiaozha df24224
docs(sdk-ai-bots): add azd deployment reflection slides
qiaozha 7af444c
sdk-ai-bots: native azd slot deploy for agent-server + scoped build c…
qiaozha 9de630c
Centralize infra provisioning; remove dead layered-provision code
qiaozha 17699f8
sdk-ai-bots: switch deploy pipelines to azd-only, replace backend wit…
qiaozha 7642858
Merge remote-tracking branch 'origin/main' into qiaozha/sdk-ai-bots-d…
qiaozha b82d161
Remove obsolete sdk-ai-bots deployment workarounds
qiaozha 05cb965
Document model deployment serialization
qiaozha 1313afd
Serialize model deployments with a resource loop
qiaozha a73d5cf
Deploy agent server directly to production
qiaozha b33eb3b
Merge branch 'main' into qiaozha/sdk-ai-bots-deployment
qiaozha 916a3e1
Update deployment docs for agent server
qiaozha 9fbbed0
Fix sdk-ai-bots environment provisioning
qiaozha e28bacb
Merge remote-tracking branch 'origin/main' into qiaozha/sdk-ai-bots-d…
qiaozha 6b72d28
Unify sdk-ai-bots azd provisioning
qiaozha 2dd93c6
Complete layered sdk-ai-bots deployment
qiaozha 40332b1
Remove unused ADE scaffolding
qiaozha 81c6ddd
Retarget sdk-ai-bots dev deployment
qiaozha 7154bd4
Update sdk-ai-bots model deployments
qiaozha 2fc47ae
Merge remote-tracking branch 'origin/main' into qiaozha/sdk-ai-bots-d…
qiaozha 3496b38
Enable standard AI Search knowledge retrieval
qiaozha a178d6f
Provision chatbot evolution settings
qiaozha dd1ef38
Provision AI Search resources after deployment
qiaozha 447c6ff
Use pipeline service connection for dev provision
qiaozha f188ace
Remove Azure DevOps environment dependencies
qiaozha ce4ad84
Fix dev provisioning pipeline setup
qiaozha 2eb4b4d
Install required azd agent extensions
qiaozha 671c125
Authenticate azd in Azure Pipelines
qiaozha 917ff41
Use UAMI directly for bot authentication
qiaozha f1cb864
Preconfigure backend Entra application
qiaozha ad3e23a
Disable local auth for AI Services
qiaozha 5855a2f
Restore knowledge sync API key authentication
qiaozha a805f12
Retry App Configuration RBAC propagation
qiaozha 52340dc
Fix Logic App connection discovery
qiaozha a1c1447
Preserve empty Logic App workflow shell
qiaozha 867f445
Consolidate sdk-ai-bots deployment pipelines
qiaozha 29687e1
Fix sdk-ai-bots service connection binding
qiaozha 32cd720
Fix AzureCLI service connection expansion
qiaozha f238c39
Hydrate ACR endpoint before azd deploy
qiaozha c516bc6
Include agent dashboard in Docker context
qiaozha 581da85
Retry transient ACR log failures
qiaozha ec0c90b
Hydrate Foundry project before agent deploy
qiaozha aebb328
Extend hosted agent deployment timeout
qiaozha 670fa9e
Add Logic App Teams consent gate
qiaozha b9a6b6b
Show preflight results in approval gate
qiaozha 708fa69
Run Teams consent only after provisioning
qiaozha 77f2cf9
Align checklist with live dev environment
qiaozha b939cb5
Merge remote-tracking branch 'origin/main' into qiaozha/sdk-ai-bots-d…
qiaozha 2bef4b0
Sync dev Teams channel configuration
qiaozha 34e3b68
Run frontend tests with Vitest 4
qiaozha 80e6538
Merge remote-tracking branch 'origin/main' into qiaozha/sdk-ai-bots-d…
qiaozha 6a7d3ff
Align deployment with recent SDK AI bot changes
qiaozha d5ab77c
Fix QA bot deployment skill compliance
qiaozha 04a2d29
Fix SDK AI bot documentation links
qiaozha 71075a2
Seed web fetch domain allow-list
qiaozha b7c22ba
Remove unrelated QA bot deployment skill
qiaozha 9fb0ea7
Consolidate SDK AI bot deployment docs
qiaozha 94d0e80
Consolidate SDK AI bot deployment pipeline
qiaozha 727392a
Remove redundant SDK AI bot pipelines
qiaozha 0f15cde
Add configurable deployment image tags
qiaozha ac81e7a
Document SDK AI bot deployment maintenance
qiaozha 18cc591
Separate developer and deployment identities
qiaozha 16da068
Document SDK AI bot permissions
qiaozha 6453fa6
Route Logic App config through backend
qiaozha 37a6bc4
Fix sdk-ai-bots deployment lifecycle
qiaozha 23aee26
Support pre-authorized local deployments
qiaozha 3f0f5a0
Restore Foundry project deployment output
qiaozha 4f02a95
Make deployment image tag optional
qiaozha 6df26a4
Align deployment stages with runtime dependencies
qiaozha 1cee8a7
Address Search RBAC and Logic App feedback
qiaozha 96c6a01
Target existing SDK bot dev environment
qiaozha 459e326
Merge origin/main into sdk-ai-bots deployment
qiaozha 975060b
Port recent chatbot deployment changes
qiaozha 398bc9c
Adopt existing SDK bot resource state
qiaozha e2674d6
Complete dev deployment adoption
qiaozha 7d025c6
Merge origin/main into sdk-ai-bots deployment
qiaozha 82dd601
Align chatbot deployment with merged changes
qiaozha 5989e72
Merge latest main and fix stale-job recovery test mock
qiaozha a4b62eb
Merge origin/main and reconcile chatbot container deployment
qiaozha 87fe535
Align deployment configuration and checks with recent chatbot changes
qiaozha 44de4c7
Preserve JSON Bicep overrides in pipeline environment loading
qiaozha 2c903c4
Focus chatbot documentation on the deployment process
qiaozha 205d39c
Check incremental deployment quota in resource-specific regions
qiaozha fb7ccc1
Remove the application vault and vault-backed deployment notifications
qiaozha 6797b6d
Verify the Teams connection selected by deployed Logic Apps
qiaozha 2a41927
Reconcile Foundry deployment permissions idempotently
qiaozha 0c3ff1f
Use Bicep-managed authorization for the dev environment
qiaozha 4222d8e
Revert the last dev authorization push
qiaozha 2e57f23
Automate chatbot resource roles and add dev bootstrap tooling
qiaozha 00121c9
Require existing chatbot resource groups and permission-only bootstrap
qiaozha cacae3b
Use existing dev chatbot connection and remove unused slot swap
qiaozha 0fa1011
Merge latest main for October chatbot deployment audit
qiaozha cb1b99d
Sync October chatbot deployment contracts and production-channel preview
qiaozha b5f9d97
Remove obsolete chatbot deployment paths and consolidate provisioning
qiaozha b794585
Sync chatbot frontend HTTP dependency updates
qiaozha 39923c2
Merge origin/main and sync chatbot deployment requirements
qiaozha b4c7cee
Remove duplicated knowledge-sync deployment wiring
qiaozha d2068a7
Reuse adopted Search identity and existing model permissions
qiaozha e199a3e
Upgrade Foundry agents extension to stable 1.0.0
qiaozha 38e551d
Pin pipeline azd and Foundry extension versions
qiaozha File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # Build context for the agent-server image (see Dockerfile). | ||
| # Allowlist: ignore everything, then re-include only the paths the Dockerfile | ||
| # COPYs. This keeps the `az acr build` upload minimal (excludes images/, tests/, | ||
| # pipelines/, scripts/, tsp/, docs, dev deps, etc.). | ||
| * | ||
|
|
||
| !requirements.txt | ||
| !agents/ | ||
| !agents/chat_agent/ | ||
| !config/ | ||
| !models/ | ||
| !prompts/ | ||
| !services/ | ||
| !static/ | ||
| !tools/ | ||
| !utils/ | ||
| !skills/ | ||
| !server.py | ||
| !_version.py | ||
|
|
||
| # Drop caches that may live inside the re-included directories. | ||
| **/__pycache__ | ||
| **/*.pyc | ||
| **/*.pyo | ||
| **/.pytest_cache | ||
| **/.mypy_cache | ||
| **/.ruff_cache | ||
| agents/chat_agent/chat_agent_env/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
tools/sdk-ai-bots/azure-sdk-qa-bot-agent/agents/chat_agent/agent.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,13 @@ | ||
| name: azure-sdk-chat-agent | ||
| kind: hosted | ||
| description: Hosted container agent using pre-built image placeholder.azurecr.io/agent:v1 | ||
| protocols: | ||
| - protocol: responses | ||
| version: 2.0.0 | ||
| # NOTE: the hosted agent container's AZURE_APPCONFIG_ENDPOINT env var is NOT set | ||
| # here. azd's azure.ai.agents extension does not embed agent.yaml | ||
| # `environment_variables` into the deployed version's container definition (its | ||
| # "Registering agent environment variables" step is a no-op), so the container | ||
| # would still boot without it and crash in app_config.init(). The env var is | ||
| # injected reliably by deployment/hooks/agent-postdeploy.ts, which creates a | ||
| # follow-up agent version with environment_variables embedded in the definition. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
tools/sdk-ai-bots/azure-sdk-qa-bot-agent/tests/deploy_hosted_agent_test.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| """Tests for hosted-agent deployment helpers.""" | ||
|
|
||
| from scripts.deploy_hosted_agent import _qualify_rai_policy_id | ||
|
|
||
|
|
||
| def test_qualifies_short_rai_policy_name() -> None: | ||
| assert _qualify_rai_policy_id( | ||
| "Microsoft.DefaultV2", | ||
| subscription_id="00000000-0000-0000-0000-000000000001", | ||
| resource_group="qabot-dev", | ||
| project_endpoint=( | ||
| "https://qabot-ai.services.ai.azure.com/api/projects/qabot" | ||
| ), | ||
| ) == ( | ||
| "/subscriptions/00000000-0000-0000-0000-000000000001" | ||
| "/resourceGroups/qabot-dev/providers/Microsoft.CognitiveServices" | ||
| "/accounts/qabot-ai/raiPolicies/Microsoft.DefaultV2" | ||
| ) | ||
|
|
||
|
|
||
| def test_preserves_qualified_rai_policy_id() -> None: | ||
| policy_id = ( | ||
| "/subscriptions/00000000-0000-0000-0000-000000000001" | ||
| "/resourceGroups/qabot-dev/providers/Microsoft.CognitiveServices" | ||
| "/accounts/qabot-ai/raiPolicies/custom" | ||
| ) | ||
| assert _qualify_rai_policy_id( | ||
| policy_id, | ||
| subscription_id="ignored", | ||
| resource_group="ignored", | ||
| project_endpoint="https://ignored", | ||
| ) == policy_id |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.