Skip to content

feat(agents): write unified microsoft.foundry config from init#8673

Closed
huimiu wants to merge 7 commits into
huimiu/foundry-azure-yamlfrom
huimiu/foundry-azure-yaml-poc
Closed

feat(agents): write unified microsoft.foundry config from init#8673
huimiu wants to merge 7 commits into
huimiu/foundry-azure-yamlfrom
huimiu/foundry-azure-yaml-poc

Conversation

@huimiu

@huimiu huimiu commented Jun 16, 2026

Copy link
Copy Markdown
Member

What

Consolidates the "unify Foundry config in azure.yaml" work to a code-complete state for a single hosted agent. Builds on the design spec in #8590 (§2.1, §2.3, §2.7).

Stacking

This branch is stacked on #8629 (huimiu/foundry-service-target). It contains #8629's commits (the microsoft.foundry service target) plus the additions below. Merge #8629 first, then rebase/merge this — or merge this and close #8629.

Changes

1. init now writes the unified host: microsoft.foundry entry

  • azd ai agent init writes a single azure.yaml with the agent declared inline under the service agents: array and model deployments: at the project level — no more agent.yaml / agent.manifest.yaml.
  • The Foundry keys travel on ServiceConfig.AdditionalProperties (not config:), and no service-level project/language is set — each agent owns its project and deploy mode. No azd core change: the gRPC ServiceConfig already carries additional_properties, AddService maps it to project.ServiceConfig.AdditionalProperties, and Save serializes it inline.
  • Maps the manifest/code definition onto the service target's FoundryAgent shape (runtime/image deploy modes, env, protocols, container resources). A shared buildFoundryServiceConfig helper covers both the manifest (InitAction) and from-code (InitFromCodeAction) paths.
  • New unit tests in init_foundry_test.go, including one that round-trips init's output through the service target's own FoundryProjectConfig.Validate().

Scope

In scope (deployable today): a single hosted agent via code-deploy (runtime) or a prebuilt image.

Deferred (faithfully written by init, not yet reconciled/deployed by the service target): container (docker) builds, multi-agent fan-out, deployments/connections/toolboxes/skills/routines reconcile, and migration/telemetry for the old host: azure.ai.agent + agent.yaml.

Templating (${VAR} / ${{...}} via ExpandEnv) is already on the feature branch; the config-unification branch is stale and not needed.

Validation

  • Extension (azure.ai.agents): go build, go vet, gofmt, golangci-lint run (0 issues), full go test ./..., and cspell — all clean.
  • azd core schema tests (internal/mcp/tools, TestHandleAzdYamlSchema) pass.
  • The existing simple/complex examples validate against the composed microsoft.foundry schema (offline ajv), exercising the core host: microsoft.foundry conditional.

@huimiu huimiu changed the title feat(agents): write unified microsoft.foundry config from init + runnable sample feat(agents): write unified microsoft.foundry config from init Jun 16, 2026
@huimiu huimiu closed this Jun 16, 2026
@huimiu huimiu deleted the huimiu/foundry-azure-yaml-poc branch June 16, 2026 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ext-agents azure.ai.agents extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant