You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -72,6 +73,9 @@ The lower lane in the diagram shows the planned two-phase hosted image flow:
72
73
provision prerequisites, build through public ACR Tasks or the dedicated
73
74
VNet-connected ACR Tasks agent pool, resolve the hosted image to an immutable
74
75
`sha256` digest, provision the digest-backed hosted handoff, and deploy.
76
+
The child hosted service remains a Docker service with remote build enabled,
77
+
while `AZD_AGENT_SKIP_ACR=true` selects the already-prepared image during the
78
+
child deployment.
75
79
76
80
## Complementary modular views
77
81
@@ -98,11 +102,11 @@ Use the table below for the deployment parameters behind each layer, and the [De
98
102
99
103
| Layer | Posture | Controlled by | Include when |
100
104
| --- | --- | --- | --- |
101
-
| UI, chat runtime, ingestion | Mode-selected baseline | Canonical `DEPLOYMENT_TOPOLOGY`; materialized `DEPLOY_HOSTED_AGENT_ORCHESTRATION`, `DEPLOY_ADMINISTRATIVE_PANEL`, `CHAT_BACKEND`; `manifest.json` components; `containerAppsList`| The umbrella manifest pins the exact supported matrix. Existing topologies stay sticky, `classic` selects the Container Apps fallback, hosted/no-panel is the fresh default, and hosted-panel requires explicit operator selection while its independent evidence gates remain off/503. |
105
+
| UI, chat runtime, ingestion | Mode-selected baseline | Canonical `DEPLOYMENT_TOPOLOGY`; materialized `DEPLOY_HOSTED_AGENT_ORCHESTRATION`, `DEPLOY_ADMINISTRATIVE_PANEL`, `CHAT_BACKEND`; `manifest.json` components; `containerAppsList`| The umbrella manifest pins the exact integration matrix. Existing topologies stay sticky, `classic` selects the Container Apps fallback, hosted/no-panel is the fresh default, and hosted-panel requires explicit operator selection while its independent evidence gates remain off/503. Runtime readiness is not yet validated. |
102
106
| AI Foundry account, project, and model deployments | Required AI control plane |`deployAiFoundry`, `deployAfProject`, `deployAAfAgentSvc`, `modelDeploymentList`| Provisioning Azure AI Foundry / Azure OpenAI and the model deployments used by GPT-RAG. |
103
107
| AI Foundry associated resources | Default-created or BYO-capable |`aiSearchResourceId`, `aiFoundryStorageAccountResourceId`, `aiFoundryCosmosDBAccountResourceId`, `keyVaultResourceId`, `aiFoundryStorageSku`| Letting the AI Foundry module create its required Storage, Search, Cosmos DB, and Key Vault resources, or reusing existing ones. |
104
-
| RAG workload data services | Mode-selected, parameter-controlled |`deploySearchService`, `deployStorageAccount`, `deployCosmosDb`, `storageAccountContainersList`, `databaseContainersList`| Running indexed-document and file-storage paths. Hosted/no-panel uses Foundry managed Conversations and omits panel-only Cosmos DB; classic preserves its existing state path. |
105
-
| App Configuration, identity / RBAC, Container Apps, Container Registry | Required platform capabilities, topology varies by mode |`deployAppConfig`, `deployContainerApps`, `deployContainerEnv`, `deployContainerRegistry`, `useUAI`, service role lists | Publishing the sticky topology and runtime contract, hosting UI/ingestion, and preparing immutable images. Hosted/no-panel does not provision an orchestrator Container App. Delegated continuity grants the two exact direct agent-scoped roles only to the UI BFF after protocol and owner-binding validation. |
108
+
| RAG workload data services | Mode-selected, parameter-controlled |`deploySearchService`, `deployStorageAccount`, `deployCosmosDb`, `storageAccountContainersList`, `databaseContainersList`, `SEARCH_SERVICE_UAI_RESOURCE_ID`| Running indexed-document and file-storage paths. Private Search uses its explicit Search UAI. Hosted/no-panel uses Foundry managed Conversations and omits panel-only Cosmos DB; classic preserves its existing state path. |
109
+
| App Configuration, identity / RBAC, Container Apps, Container Registry | Required platform capabilities, topology varies by mode |`deployAppConfig`, `deployContainerApps`, `deployContainerEnv`, `deployContainerRegistry`, `useUAI`, service role lists | Publishing the sticky topology and runtime contract, hosting UI/ingestion, and preparing immutable images. Hosted/no-panel does not provision an orchestrator Container App. Hosted-panel resolves exactly one managed-identity principal per Container App and limits Cosmos grants to frontend Contributor plus ingestion Reader on the two panel containers. Delegated continuity grants the two exact direct agent-scoped roles only to the UI BFF after protocol and owner-binding validation. |
106
110
| Workload Key Vault and observability | Default support, parameter-controlled or reusable |`deployKeyVault`, `deployLogAnalytics`, `deployAppInsights`, `EXISTING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID`, `EXISTING_APPLICATION_INSIGHTS_RESOURCE_ID`, `EXISTING_APPLICATION_INSIGHTS_CONNECTION_STRING`| Storing workload secrets and capturing telemetry. The delegated primary continuity path does not provision or require a capability key or dedicated continuity vault; those inputs remain disabled fallback-only. Application Insights is created or wired only when an effective Log Analytics workspace is available. |
The platform implementation resolves one canonical topology before provisioning
67
69
and materializes the corresponding legacy flags and App Configuration values.
@@ -93,6 +95,7 @@ Configuration label `gpt-rag`:
93
95
|`HOSTED_AGENT_AUTH_MODE`|`user_delegated` is the default and required continuity path. Under OQ-OWN, it means the trusted UI BFF derives `x-ms-user-identity`; it does not mean an OBO token is sent to the agent. OBO remains a separate retrieval flow. `service_identity` is an explicit reviewed exception that is incompatible with owner-bound continuity, so continuity stays off/503 in that mode. |
94
96
|`HOSTED_AGENT_SSE_IDLE_TIMEOUT_SECONDS`| Finite positive wait for the next SSE event. The UI default is `60`; an infinite timeout is rejected. |
95
97
|`HOSTED_AGENT_IMAGE_VERSION`| Canonical lowercase immutable digest in `sha256:<64-hex-characters>` form. Mutable tags are rejected. |
98
+
|`SEARCH_SERVICE_UAI_RESOURCE_ID`| Required identity boundary for private Search. Post-provisioning preserves an explicit value or resolves the single Search user-assigned identity from the Search resource; it must not publish an empty replacement. |
96
99
|`OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT`| Generative-AI prompt and completion telemetry capture. Defaults to `false`. Set to `true` only when the deployment's data-handling policy explicitly permits sensitive content telemetry. |
97
100
98
101
Hosted configuration, authentication, connection, timeout, protocol, and
@@ -243,6 +246,14 @@ This composes UI and ingestion plus only the two panel metadata containers.
243
246
override them before their separate evidence and authorization procedures
244
247
complete. The corresponding routes return HTTP 503 while disabled.
245
248
249
+
Panel post-provisioning resolves exactly one managed-identity principal from the
250
+
frontend Container App and exactly one from ingestion. It then creates only
251
+
container-scoped Cosmos SQL grants on `panel-conversation-owner-index` and
252
+
`panel-feedback`: **Cosmos DB Built-in Data Contributor** for frontend and
253
+
**Cosmos DB Built-in Data Reader** for ingestion. Missing or ambiguous
254
+
Container App identities fail setup. Do not substitute account-scope grants,
255
+
grant ingestion write access, or grant the hosted agent any panel Cosmos role.
256
+
246
257
The first provision creates hosted prerequisites with image preparation
247
258
enabled but hosted deployment disabled. The preparation command clones and
248
259
verifies the manifest-pinned orchestrator source, builds the standard image and
@@ -257,6 +268,21 @@ private endpoint. Operators may pass an already-built immutable
257
268
`sha256:<64-hex-characters>` digest to the preparation command to skip builds.
258
269
No lifecycle hook recursively invokes `azd provision`.
259
270
271
+
The child `hosted-agent/azure.yaml` service definition is part of the prebuilt
272
+
handoff contract. It must declare `language: docker` and
273
+
`docker.remoteBuild: true`. The parent pre-deploy hook sets
274
+
`AZD_AGENT_SKIP_ACR=true` in the child azd environment before
275
+
`azd deploy orchestrator-agent`, so the already-prepared immutable image is used
276
+
instead of triggering another ACR build. Do not remove any of these three
277
+
settings from a prebuilt hosted deployment.
278
+
279
+
!!! danger "Current runtime readiness blocker"
280
+
The latest implementation validation activated the agent version, but a new
281
+
session readiness request returned HTTP 424. This is not a successful hosted
282
+
runtime validation. Keep continuity and panel evidence gates false/off/503,
283
+
keep the classic rollback available, and do not describe the integrated
284
+
matrix as shipped until readiness and the remaining live checks pass.
285
+
260
286
#### Explicit classic fallback
261
287
262
288
Fallback is a deployment operation, not a request-time retry:
Copy file name to clipboardExpand all lines: docs/quickstart_simple_rag.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,7 @@ azd provision
76
76
-**Microsoft Foundry** - Foundry Account and project for agent orchestration
77
77
-**OpenAI Models** - GPT-4o and text-embedding-3-large deployments
78
78
-**Container Registry** - Stores Docker images
79
-
-**Container Apps (4)** - UI, orchestrator, ingestion, MCP in the currently released classic topology. The [hosted-agent supported matrix](hosted_agent_release_matrix.md) pins UI, orchestrator runtime, ingestion, and AILZ releases; hosted/no-panel and explicit hosted-panel keep UI and ingestion in Container Apps and omit the orchestrator Container App from the hosted chat path.
79
+
-**Container Apps (4)** - UI, orchestrator, ingestion, MCP in the currently released classic topology. The [hosted-agent integration matrix](hosted_agent_release_matrix.md) pins UI, orchestrator runtime, ingestion, and AILZ releases; hosted/no-panel and explicit hosted-panel keep UI and ingestion in Container Apps and omit the orchestrator Container App from the hosted chat path. The hosted integration is not yet shipped because runtime session readiness remains blocked.
80
80
-**App Configuration** - Centralized configuration store
0 commit comments