Repository navigation
Automated sync from private repo (2026-05-07) - #698
Merged
foundry-samples-repo-sync[bot] merged 6 commits intoMay 7, 2026
Merged
Conversation
…ndard-agent-setup` (#257) * fix(15-private-network-standard-agent-setup): sanitize derived storage account name Storage account names must be 3-24 chars, lowercase, no hyphens. The current`var azureStorageName = toLower('${aiServices}${uniqueSuffix}storage')` derivationfails Azure validation when `aiServices` contains hyphens or pushes the resultover 24 chars. Both are common with enterprise naming conventions; the default`'aiservices'` (10 chars) hides the bug. Also adds a defensive 44-char cap on the derived Cosmos DB name. Closes #256 * Automatic fixes --------- Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com>
…estructive subnets, vnetName precedence, DNS subscription normalization (#259) * fix(15-private-network-standard-agent-setup): harden BYO-VNet path (subnets, vnetName, DNS sub) Three small, related fixes to the BYO-VNet code path in the same sample: 1. Non-destructive subnet handling. New 'reuseExistingSubnets' parameter (default false). When true and useExistingVnet is set, the template skips the subnet PUT entirely and references the existing subnet IDs as-is. Avoids resetting privateEndpointNetworkPolicies, NSG and route table associations on platform-managed subnets. 2. 'vnetName' precedence and UX clarity. Default changed from 'agent-vnet-test' to '' and description rewritten so it is explicit that the parameter is ignored when existingVnetResourceId is set (the resource ID wins). Stops users from copying the misleading default alongside their resource ID. 3. 'dnsZonesSubscriptionId' normalization. Now accepts either a bare GUID (existing form) or the full '/subscriptions/<guid>' path; both resolve to the same effective subscription for cross-sub DNS zone references. Closes #258 * Automatic fixes * Automatic fixes --------- Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com>
…l capabilityHost, BCP037 fix (#261) * feat(15-private-network-standard-agent-setup): BYO existing AI Foundry account + declarative account-level capabilityHost Three related changes that together make the sample work end-to-end against an existing (BYO) AI Foundry account in regulated/enterprise tenants: 1. ai-account-identity.bicep: new optional 'existingAccountResourceId' and 'skipModelDeployment' parameters. When existingAccountResourceId is set, the module references the existing AI Foundry (CognitiveServices/accounts kind=AIServices) account in its own RG/subscription instead of creating a new one. Outputs use ARM short-circuit ternary so only the chosen branch is evaluated. Default behavior (create new account) is unchanged. 2. add-account-capability-host.bicep (NEW): declarative module that creates the account-level capabilityHost. The current sample relies on the createCapHost.sh script being run manually before deployment. Without it, the project caphost creation fails with 'Foundry Account capabilityHost Not Found'. This module makes the flow fully declarative and idempotent regardless of whether the account is freshly created or pre-existing. 3. add-project-capability-host.bicep: documents the BCP037 suppression for capabilityHostKind. The Bicep type defs reject the property but the ARM API requires it; without it the capability host is created with no kind and downstream agents fail. createCapHost.sh is left in place for compatibility (consider removing in a follow-up). main.bicep wires the new module and adds a dependency on it from the project caphost so the bootstrap order is enforced declaratively. Closes #260 * Automatic fixes --------- Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com>
…reuseExistingSubnets, and declarative caphost (#271) Updates the README to reflect the features added in #257, #259, and #261. Changes: - Parameters table: add reuseExistingSubnets (#259), existingAiFoundryAccountResourceId and skipModelDeployment (#261); update vnetName description and default to reflect the precedence-aware behavior introduced in #259. - BYO Resource Details: add new section 5 'Use an existing Microsoft Foundry account' documenting the BYOA flow; mention reuseExistingSubnets in the existing-VNet section; note that dnsZonesSubscriptionId now accepts both bare GUID and full ARM subscription paths (#259). - Pre-Deployment Notes: replace the stale 'deploy the project caphost bicep' instruction with a reference to the declarative account-level capability host added in #261. - Account Cleanup section: clarify that createCapHost.sh is now only required for the cleanup-then-recreate flow, not for first-time deployments. - Module Structure: add add-account-capability-host.bicep to the file tree (#261). - Limitations: add note about the BYO account + skipModelDeployment requirement. No code changes; documentation only.
* Updates to READMEs of all major networking templates (bicep mainly, also some TF) Updates to READMEs of all major networking templates(bicep mainly, also some TF) * Automatic fixes * More managed network updates more managed network updates * Automatic fixes --------- Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com>
* Updates to READMEs of all major networking templates (bicep mainly, also some TF) Updates to READMEs of all major networking templates(bicep mainly, also some TF) * Automatic fixes * More managed network updates more managed network updates * Automatic fixes * small updates to cli.md file * Add CLI version to update to --------- Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com>
Comment on lines
+10
to
+52
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Build payload and call Azure DevOps | ||
| env: | ||
| ADO_ORG: ${{ secrets.ADO_ORG }} | ||
| ADO_PROJECT: ${{ secrets.ADO_PROJECT }} | ||
| ADO_PAT: ${{ secrets.ADO_PAT }} | ||
| DRI_EMAIL: ${{ secrets.DRI_EMAIL }} | ||
| ADO_AREA_PATH: ${{ secrets.ADO_AREA_PATH }} | ||
| ADO_ITERATION_PATH: ${{ secrets.ADO_ITERATION_PATH }} | ||
| ADO_TAG: ${{ secrets.ADO_TAG }} | ||
| ISSUE_TITLE: ${{ github.event.issue.title }} | ||
| ISSUE_BODY: ${{ github.event.issue.body }} | ||
| ISSUE_URL: ${{ github.event.issue.html_url }} | ||
| run: | | ||
| DESCRIPTION="<div>${ISSUE_BODY//$'\n'/<br/>}<br/><br/><a href=\"$ISSUE_URL\">$ISSUE_URL</a></div>" | ||
|
|
||
| jq -n \ | ||
| --arg title "$ISSUE_TITLE" \ | ||
| --arg desc "$DESCRIPTION" \ | ||
| --arg area "$ADO_AREA_PATH" \ | ||
| --arg iter "$ADO_ITERATION_PATH" \ | ||
| --arg assn "$DRI_EMAIL" \ | ||
| --arg tags "$ADO_TAG" \ | ||
| '[ | ||
| { "op":"add", "path":"/fields/System.Title", "value":$title }, | ||
| { "op":"add", "path":"/fields/System.Description", "value":$desc }, | ||
| { "op":"add", "path":"/fields/System.AreaPath", "value":$area }, | ||
| { "op":"add", "path":"/fields/System.IterationPath", "value":$iter }, | ||
| { "op":"add", "path":"/fields/System.AssignedTo", "value":$assn }, | ||
| { "op":"add", "path":"/fields/System.Tags", "value":$tags } | ||
| ]' > /tmp/payload.json | ||
|
|
||
| AUTH=$(printf ":$ADO_PAT" | base64 | tr -d '\n') | ||
| WORK_ITEM_URL="https://dev.azure.com/${ADO_ORG}/${ADO_PROJECT}/_apis/wit/workitems/\$User%20Story?api-version=7.1-preview.3" | ||
|
|
||
| curl --fail-with-body -sS \ | ||
| -H "Content-Type: application/json-patch+json" \ | ||
| -H "Authorization: Basic $AUTH" \ | ||
| -X POST \ | ||
| --data-binary @/tmp/payload.json \ | ||
| "$WORK_ITEM_URL" |
Comment on lines
+15
to
+23
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: "3.9" | ||
| - run: pip install -r dev-requirements.txt | ||
| - name: Run Pre-Commit | ||
| run: pre-commit run --all-files |
Comment on lines
+14
to
+24
| if: github.event_name == 'pull_request' | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: "3.9" | ||
| - name: Check Pull Request Size | ||
| run: | | ||
| git fetch origin ${{ github.event.pull_request.base.ref }} --quiet # Need to manually fetch base branch in CI | ||
| python ./.github/scripts/commit-filesize-diff-summary.py --limit 1MB origin/${{ github.event.pull_request.base.ref }}..HEAD |
foundry-samples-repo-sync
Bot
deleted the
sync/private-to-public-20260507-223541
branch
May 7, 2026 22:40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated sync from private repo.
Synced commits: 6
Authors: Haflidi Fridthjofsson,Meera Kurup
Validation gate: mode=
none; tracked=0; blocked=0.Rollback point:
2fdf01fcc7e42e12b93ad6bb2c5a14107996d247— to revert, force-push this SHA tomainand clear the sync-marks cache.Triggered by:
workflow_dispatchRun: https://github.com/microsoft-foundry/foundry-samples-pr/actions/runs/25525794743