Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,20 @@ Kubernetes network calls are mocked, so no cloud resources are accessed.
must still prove policy propagation, actual allocation, managed Istio, K3s
installation/Bastion, image access, Radius identity federation, recipe execution
and participant reconnect/permissions in Console before an event. No live Azure
deployment was performed as part of authoring this automation.
deployment success should be inferred from a passing offline test or ARM
validation alone.

The AKS template supplies an explicit empty `serviceMeshProfile.istio` object:
the managed-cluster API requires the profile when `mode` is `Istio`, and Azure
selects its default supported revision when no revision is specified.

If a live deployment reports `AKSCapacityHeavyUsage`, quota/SKU validation has
not reserved AKS capacity. Resolve the capacity issue or explicitly select another
event region before retrying. A `SubscriptionNotRegisteredForFeature` error
mentioning `AllowBringYourOwnPublicIpAddress` on these ordinary Standard public
IPs needs subscription/provider investigation; the template does not request
BYOIP or a custom IP prefix. Do not enable an unrelated preview feature merely
to suppress that error. Preserve the deployment operation errors for support.

## Hosted policy provenance

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ try {
$readerId = 'acdd72a7-3385-48ef-bd42-f606fba81ae7'
foreach ($objectId in ($AllowedEntraUserIds | Select-Object -Unique)) {
# --assignee-object-id and --assignee-principal-type avoid all Microsoft Graph lookups.
$assignments = @(Invoke-AdaptiveAz -Arguments @('role', 'assignment', 'list', '--scope', $nodeScope, '--all', '--fill-principal-name', 'false'))
$assignments = @(Invoke-AdaptiveAz -Arguments @('role', 'assignment', 'list', '--scope', $nodeScope, '--fill-principal-name', 'false'))
$exists = $assignments | Where-Object {
$_.principalId -eq $objectId -and $_.roleDefinitionId -like "*/$readerId" -and $_.scope -ieq $nodeScope
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ resource cluster 'Microsoft.ContainerService/managedClusters@2025-05-01' = {
}
serviceMeshProfile: {
mode: 'Istio'
istio: {}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,8 @@ Describe 'Participant hook orchestration' {
{ $_ -like 'account show *' } { "{`"id`":`"$subscription`"}"; break }
{ $_ -like 'role assignment list *' } {
"$args" | Should -Match '--fill-principal-name false'
"$args" | Should -Match '--scope '
"$args" | Should -Not -Match '--all\b'
'[]'; break
}
{ $_ -like 'role assignment create *' } {
Expand Down Expand Up @@ -483,6 +485,8 @@ Describe 'Bicep offline validation' {
$aks.properties.oidcIssuerProfile.enabled | Should -BeTrue
$aks.properties.securityProfile.workloadIdentity.enabled | Should -BeTrue
$aks.properties.serviceMeshProfile.mode | Should -Be 'Istio'
$aks.properties.serviceMeshProfile.PSObject.Properties.Name | Should -Contain 'istio'
$aks.properties.serviceMeshProfile.istio | Should -BeOfType [pscustomobject]
$vm = $template.resources | Where-Object type -eq 'Microsoft.Compute/virtualMachines'
$vm.properties.hardwareProfile.vmSize | Should -Be 'Standard_D4s_v5'
$template.parameters.adminPassword.type | Should -Be 'securestring'
Expand Down