Skip to content

[ext-foundry]: make project/connection/toolbox Foundry resources real service targets #8774

Description

@huimiu

Implements the per-resource service-target design of unified azure.yaml spec #8590 (docs/specs/unify-azure-yaml/spec.md) §2.2, §2.6, §2.8, plus §1.4 (endpoint:).

#8675 writes each Foundry resource as its own azure.yaml service (azure.ai.project / azure.ai.connection / azure.ai.toolbox) but registers all three as no-op service targets inside azure.ai.agents; the resources are still provisioned by Bicep at provision time and re-sourced through the pre/postprovision + postdeploy hooks in listen.go. This issue moves each host to its owning sibling extension with a real deploy-time upsert.

Summary

Turn azure.ai.project, azure.ai.connection, and azure.ai.toolbox into real service targets owned by their sibling extensions, so azd deploy reconciles each resource (upsert) in uses: order, with native per-service progress and failure attribution.

Scope

Per host — each a vertical slice that: registers the host + service target, publishes <kind>.json, adds the core-schema conditional, removes the host from the agents no-op ResourceServiceTargetProvider, and moves its reconcile out of the listen.go hooks into the resource's Deploy:

  • azure.ai.project -> azure.ai.projects: resolve the project (provisioned, or via endpoint: §1.4) and upsert each deployment.
  • azure.ai.connection -> azure.ai.connections: upsert the connection; resolve env secrets.
  • azure.ai.toolbox -> azure.ai.toolboxes: upsert the toolbox; resolve named connection references.

Note: azure.ai.skill and azure.ai.routine real service targets are covered in #8779.

Ordering stays in azure.yaml via uses: (project -> connections -> toolboxes -> agents); azd core topologically orders them.

Out of scope (follow-ups)

Related

Follow-up to #8590 / #8675:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/projectProject config, project_manager, service_managerarea/schemaazure.yaml JSON schemasarea/service-targetsContainer Apps, App Service, Functions, AKS, SWAenhancementNew feature or improvementext-agentsazure.ai.agents extensionext-connectionsazure.ai.connections extensionext-foundryazure.ai.{agents,connections,inspector,projects,routines,skills,toolboxes}, microsoft.foundryext-projectsazure.ai.projects extensionext-routinesazure.ai.routines extensionext-skillsazure.ai.skills extensionext-toolboxesazure.ai.toolboxes extension
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions