Skip to content

Automated sync from private repo (2026-04-14)#654

Closed
foundry-samples-repo-sync[bot] wants to merge 3 commits intomainfrom
sync/private-to-public-20260414-064213
Closed

Automated sync from private repo (2026-04-14)#654
foundry-samples-repo-sync[bot] wants to merge 3 commits intomainfrom
sync/private-to-public-20260414-064213

Conversation

@foundry-samples-repo-sync
Copy link
Copy Markdown
Contributor

This PR was automatically generated by the repo sync workflow.

Review carefully before merging. Verify no internal content was included.

Triggered by: schedule
Run: https://github.com/microsoft-foundry/foundry-samples-pr/actions/runs/24384828634

djetchev and others added 3 commits April 13, 2026 18:07
)

* Add OpenAPI tool and A2A connector tests for VNet-private resources

Extend the 19-hybrid-private-resources-agent-setup test suite to validate
OpenAPI tools and A2A (Agent-to-Agent) connectors through the Data Proxy
when services run behind a private VNet.

New files:
- openapi-server/: Minimal FastAPI calculator service (Dockerfile + app)
- tests/calculator_openapi.json: OpenAPI spec for the calculator service
- tests/test_openapi_tool_agents_v2.py: Focused OpenAPI tool tests
  (connectivity + public/private agent tests with --retry support)
- tests/test_a2a_connector_agents_v2.py: Focused A2A connector tests
  using A2APreviewTool from azure.ai.projects.models

Updated files:
- tests/test_agents_v2.py: Added Tests 6 (OpenAPI) and 7 (A2A) to full suite
- tests/TESTING-GUIDE.md: Added Steps 5-6 for OpenAPI/A2A deployment + test commands
- README.md: Added OpenAPI and A2A to feature list

No Bicep infrastructure changes required — the existing networkInjections
with scenario: 'agent' routes all tool types through the VNet universally.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix OpenAPI/A2A tests and add A2A server

- Fix OpenApiTool constructor: use OpenApiFunctionDefinition wrapper
- Fix deprecated 'agent' property: use 'agent_reference' in extra_body
- Add A2A protocol server (FastAPI) for testing RemoteA2AConnector
  - Serves agent card at /.well-known/agent-card.json
  - Handles JSON-RPC 2.0 message/send with kind discriminator
  - Dynamic absolute URL in agent card from request headers
  - Simple calculator logic for testing
- All fixes applied across test_agents_v2, test_openapi_tool_agents_v2,
  test_ai_search_tool_agents_v2, and test_mcp_tools_agents_v2

Test results (WestUS2):
  OpenAPI public:  PASS (connectivity + agent tool call)
  OpenAPI private: FAIL (Data Proxy can't reach internal Container App)
  A2A public:      PASS (agent card + message/send + response)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Azure Function behind VNet example with three-scenario docs

- New azure-function-server/ with calculator API that stores results in
  private blob storage, proving VNet Integration works (storage.stored field)
- Three scenarios documented: (1) no VNet baseline, (2) VNet Integration
  only (DataProxy-compatible), (3) full lockdown with PE (customer code only)
- Key finding: publicNetworkAccess must be Enabled for DataProxy — Disabled
  causes 403 Ip Forbidden because DataProxy resolves DNS at Foundry level
- Storage requires three PEs: Blob + Queue + File (File often forgotten)
- deploy-function.bicep with full VNet deployment including all three storage PEs
- Dedicated test script with expect_storage validation
- TESTING-GUIDE.md rewritten with scenario matrix, deployment order, and
  updated test results for MCP/OpenAPI/A2A/Function (all passing)
- Added Fabric Data Agent test script (test_fabric_data_agent_v2.py)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update infrastructure/infrastructure-setup-bicep/19-hybrid-private-resources-agent-setup/README.md

Co-authored-by: Meera Kurup <meerakurup@microsoft.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Meera Kurup <meerakurup@microsoft.com>
…zuredeploy.json (#142)

Align azuredeploy.json with the serialization already present in
ai-project-identity.bicep. Connections now deploy sequentially:
  1. CosmosDB - depends on project resource
  2. Azure Storage - depends on CosmosDB connection
  3. Azure Search - depends on Azure Storage connection

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@foundry-samples-repo-sync
Copy link
Copy Markdown
Contributor Author

Superseded by a newer sync.

@foundry-samples-repo-sync foundry-samples-repo-sync bot deleted the sync/private-to-public-20260414-064213 branch April 15, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants