Skip to content

Revamping ARO MIWI docs#956

Open
diana-sari wants to merge 3 commits into
rh-mobb:mainfrom
diana-sari:aro-miwi
Open

Revamping ARO MIWI docs#956
diana-sari wants to merge 3 commits into
rh-mobb:mainfrom
diana-sari:aro-miwi

Conversation

@diana-sari

@diana-sari diana-sari commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR revamps the ARO Managed Identities and Workload Identity Federation guide to align with the current Azure CLI deployment workflow.

Key updates include:

  • Clarifies the relationship between Azure managed identities and platform workload identity federation.
  • Documents the Azure CLI 2.84.0 minimum requirement.
  • Creates the required cluster identity and eight platform identities.
  • Adds the required Azure RBAC assignments for the cluster and platform identities.
  • Uses reusable variables and helper functions instead of repeated hardcoded resource paths.
  • Adds identity and role-assignment validation.
  • Adds explicit control plane and worker VM sizes.
  • Adds deployment validation, monitoring, troubleshooting, and cleanup guidance.
  • Restores and modernizes the one-shot deployment script so customers can keep using the automation path.
  • Preserves attribution to the original HackMD deployment guide.

The updated procedure was validated with a successful ARO managed-identity deployment.

@aws-amplify-us-east-2

Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-956.dqokbbp7eqr35.amplifyapp.com

@kmcolli kmcolli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great job really improving the article, a couple comments and suggestions

Comment thread content/aro/miwi/index.md Outdated
Comment on lines +68 to +69
#!/usr/bin/env bash
set -euo pipefail

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need this? we are just doing a copy and paste

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks yeah that makes sense, will remove the shebang etc

Comment thread content/aro/miwi/index.md Outdated
```bash
az login
az account list --output table
az account set --subscription "<subscription-name-or-id>"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separate it out as you can't copy and paste you nee the result from 58 to do what is on line 59
The subscription of '' doesn't exist in cloud 'AzureCloud'.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, let me split them into two steps, and maybe will add some verification command afterwards just to make sure

Comment thread content/aro/miwi/index.md
echo "Pull secret not found: $AZR_PULL_SECRET"
exit 1
}
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

echo out all variables in a new section?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense, will add it

Comment thread content/aro/miwi/index.md Outdated
az provider register -n Microsoft.Authorization --wait
az provider register -n Microsoft.ContainerRegistry --wait
```
## 3. Create the resource group and network

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this assumes the vnet is in the same resource group as the cluster is in which many customers aren't doing ... separate out the vnet resource group to it's own as an environment variable

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right yeah will do this too

Comment thread content/aro/miwi/index.md
```

az role assignment create --assignee-object-id "$(az identity show --resource-group ${RESOURCE_GROUP} --name ${ARO_CLUSTER_NAME}-ingress --query principalId -o tsv)" --assignee-principal-type ServicePrincipal --role "/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.Authorization/roleDefinitions/0336e1d3-7a87-462b-b6db-342b63f7802c" --scope "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${VNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/${VNET_APP_NODE_SUBNET_NAME}"
Check DSv5-family usage:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

describe more what to expect, the output won't be clear to some customers e.g.
[
{
"Restrictions": [],
"Size": "Standard_D4s_v5"
},
{
"Restrictions": [],
"Size": "Standard_D8s_v5"
}
]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense, will add some notes underneath to explain

Comment thread content/aro/miwi/index.md Outdated
--vnet "$AZR_VNET" \
--master-subnet "$AZR_MASTER_SUBNET" \
--worker-subnet "$AZR_WORKER_SUBNET" \
--master-vm-size "Standard_D8s_v5" \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hard coded vm-sizes ... set as environment variables upfront with notes on how to change

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah good catch, i got impatient last minute and hardcoded this in my test lol

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please put it back, a few customer are using it ... update it with your new suggestions ( if you like :) )

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure will put it back:) with some updates to match the non-automated version one

Comment thread content/aro/miwi/index.md
## One-Shot Deployment
### 6.1 Allow the cluster identity to manage federated credentials

Download and execute the automated deployment script:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please put instructions back for running the 'automation' script as a few customers are using this

Comment thread content/aro/miwi/index.md Outdated
{{% /alert %}}

## Access the Cluster
To submit the operation and monitor it separately, add `--no-wait`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just include this with the command because if you don't then you can do step 12

Also, add a note about the --debug ... or maybe that goes in troubleshooting

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ya makes sense will add --no-wait to the create command

Comment thread content/aro/miwi/index.md

This guide assumes none is attached to the ARO subnets. When bringing those resources, add the operator role assignments required for each additional network resource before cluster creation.

## Cleanup

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is also the vnet, subnets etc

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right yeah i'll rephrase this for clarity

Signed-off-by: dsari-rh <dsari@redhat.com>
Signed-off-by: dsari-rh <dsari@redhat.com>
@diana-sari diana-sari requested a review from kmcolli June 29, 2026 20:48
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