Skip to content

Commit 9d502dd

Browse files
rayankhouryyCopilotbrandom-msft
authored andcommitted
feat: Add byom-cross-region extension under template 16 (#528)
* Add byom-cross-region extension under template 16 Adds extensions/byom-cross-region/ as a deployable extension to the 16-private-network-standard-agent-apim-setup template. The extension provisions a backend Foundry account in a second region behind a private endpoint, fronts it with the existing APIM gateway (managed-identity auth to backend), and wires the cross-region connection back to the agent project. Includes: - main.bicep / azuredeploy.json (compiled) / main.bicepparam - 6 modules: backend-ai-account, backend-private-endpoint, vnet-with-backend-subnet, apim-service, apim-inference-api, apim-backend-role-assignment - README.md with full architecture diagram - samples/parameters-cross-region.json - metadata.json Subscription-policy guardrails applied: - defaultOutboundAccess: false on apim-outbound and backend-pe subnets - disableLocalAuth: true on backend AI account (Entra-only via APIM) Also corrects a stale template reference in 01-connections/apim/samples/parameters-managed-identity-static-models.json. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refresh CODEOWNERS review requirements * Retrigger checks after CODEOWNERS update Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Brandon Miller <brandom@microsoft.com>
1 parent 0d15ea5 commit 9d502dd

15 files changed

Lines changed: 7172 additions & 0 deletions

File tree

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{
2+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
3+
"contentVersion": "1.0.0.0",
4+
"parameters": {
5+
"projectResourceId": {
6+
"value": "/subscriptions/YOUR-SUBSCRIPTION-ID/resourceGroups/YOUR-RG/providers/Microsoft.CognitiveServices/accounts/YOUR-AI-FOUNDRY-ACCOUNT/projects/YOUR-PROJECT"
7+
},
8+
"apimResourceId": {
9+
"value": "/subscriptions/YOUR-SUBSCRIPTION-ID/resourceGroups/YOUR-APIM-RG/providers/Microsoft.ApiManagement/service/YOUR-APIM-SERVICE"
10+
},
11+
"apiName": {
12+
"_comment": "Name of the API in APIM that exposes the chat-completions operation. Use 'inference' to match the convention used by the byom-cross-region extension under 16-private-network-standard-agent-apim-setup/extensions/.",
13+
"value": "inference"
14+
},
15+
"connectionName": {
16+
"_comment": "This name appears in the Foundry portal AI Gateway picker and as the prefix in agents: '<connectionName>/<deploymentName>'.",
17+
"value": "ai-gateway"
18+
},
19+
"authType": {
20+
"_comment": "ProjectManagedIdentity makes Foundry use the project's managed identity to obtain a token, and APIM validates it with validate-azure-ad-token.",
21+
"value": "ProjectManagedIdentity"
22+
},
23+
"isSharedToAll": {
24+
"value": true
25+
},
26+
"deploymentInPath": {
27+
"_comment": "true if APIM exposes /deployments/{deploymentName}/chat/completions (Azure OpenAI style). Use 'true' when the urlTemplate on the APIM operation includes {deploymentName}.",
28+
"value": "true"
29+
},
30+
"inferenceAPIVersion": {
31+
"value": "2024-10-21"
32+
},
33+
"deploymentAPIVersion": {
34+
"value": ""
35+
},
36+
"staticModels": {
37+
"_comment": "Models registered on the backend (e.g. a Foundry account in another region). Each entry surfaces in the Foundry portal as '<connectionName>/<name>'.",
38+
"value": [
39+
{
40+
"name": "gpt-4o",
41+
"properties": {
42+
"model": {
43+
"name": "gpt-4o",
44+
"version": "2024-11-20",
45+
"format": "OpenAI"
46+
}
47+
}
48+
},
49+
{
50+
"name": "gpt-5",
51+
"properties": {
52+
"model": {
53+
"name": "gpt-5",
54+
"version": "2025-08-07",
55+
"format": "OpenAI"
56+
}
57+
}
58+
},
59+
{
60+
"name": "gpt-5.1",
61+
"properties": {
62+
"model": {
63+
"name": "gpt-5.1",
64+
"version": "2025-11-13",
65+
"format": "OpenAI"
66+
}
67+
}
68+
}
69+
]
70+
}
71+
}
72+
}

infrastructure/infrastructure-setup-bicep/16-private-network-standard-agent-apim-setup/extensions/byom-cross-region/README.md

Lines changed: 555 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)