docs(azure): replace ARM template deployment with pure az CLI commands#50700
Conversation
Rewrites the Azure install guide to use individual az CLI commands instead of referencing ARM templates in infra/azure/templates/ (removed upstream). Each Azure resource (NSG, VNet, subnets, VM, Bastion) is now created with explicit az commands, preserving the same security posture (Bastion-only SSH, no public IP, NSG hardening). Also addresses BradGroux review feedback from openclaw#47898: - Add cost considerations section (Bastion ~$140/mo, VM ~$55/mo) - Add cleanup/teardown section (az group delete) - Remove stale /install/azure/azure redirect from docs.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Greptile SummaryThis PR rewrites Key observations:
Confidence Score: 4/5
Prompt To Fix All With AIThis is a comment left during a code review.
Path: docs/install/azure.md
Line: 277-281
Comment:
**Hardcoded resource names instead of variables**
The guide explicitly encourages users to "Adjust names and CIDR ranges to fit your environment" in Step 3, but these commands use hardcoded `rg-openclaw` and `vm-openclaw` instead of the `${RG}` and `${VM_NAME}` variables defined earlier. A user who customized their resource names will copy these snippets and get a "resource not found" error.
The same issue appears in the Cleanup section at line 290 (`az group delete -n rg-openclaw`).
```suggestion
- **Deallocate the VM** when not in use (stops compute billing; disk charges remain):
```bash
az vm deallocate -g "${RG}" -n "${VM_NAME}"
az vm start -g "${RG}" -n "${VM_NAME}" # restart later
```
```
And for the Cleanup section:
```bash
az group delete -n "${RG}" --yes --no-wait
```
How can I resolve this? If you propose a fix, please make it concise.Last reviewed commit: "docs(azure): replace..." |
Add Quick path and What you need sections. Split the single Steps block into three (Configure deployment, Deploy Azure resources, Install OpenClaw) so H2 headers appear in the Mintlify sidebar TOC. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Escape dollar signs to prevent Mintlify LaTeX interpretation. Also escape underscores in VM SKU name within bold text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0db332562f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Download then run pattern (no sudo). Clarify that installer handles Node LTS, dependencies, OpenClaw install, and onboarding wizard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec1862fb79
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace hardcoded rg-openclaw/vm-openclaw with variables in deallocate/start and group delete commands so users who customized names in step 3 get correct commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@BradGroux / @fabianwilliams here are the changes: Docs Changes Rendered
AZ CLI Install Commands Validated
OpenClaw Install and Onboarding Validated after Bastion SSH
|
| "destination": "/install/azure" | ||
| }, | ||
| { | ||
| "source": "/install/azure/azure", |
There was a problem hiding this comment.
@BradGroux removed the redundant redirect as you mentioned in the prior PR #47898
|
@BradGroux I've converted the Azure Linux VM installation scripts to use I have also addressed all of the comments in my prior PR: #47898 |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Clean improvement over the ARM template approach, pure az CLI is much easier to follow and debug. Each resource creation step is explicit, the NSG rule priority explanations are helpful, and the cost considerations section is a great addition (Bastion at ~$140/month catches people off guard).
One thing to flag: the ARM templates in infra/azure/templates/ from #47898 are now orphaned since nothing references them. Worth a follow-up PR to remove them or add a note that they're kept as an alternative.
Good job.
openclaw#50700) * docs(azure): replace ARM template deployment with pure az CLI commands Rewrites the Azure install guide to use individual az CLI commands instead of referencing ARM templates in infra/azure/templates/ (removed upstream). Each Azure resource (NSG, VNet, subnets, VM, Bastion) is now created with explicit az commands, preserving the same security posture (Bastion-only SSH, no public IP, NSG hardening). Also addresses BradGroux review feedback from openclaw#47898: - Add cost considerations section (Bastion ~$140/mo, VM ~$55/mo) - Add cleanup/teardown section (az group delete) - Remove stale /install/azure/azure redirect from docs.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): split into multiple Steps blocks for richer TOC Add Quick path and What you need sections. Split the single Steps block into three (Configure deployment, Deploy Azure resources, Install OpenClaw) so H2 headers appear in the Mintlify sidebar TOC. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): remove Quick path section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix cost section LaTeX rendering, remove comparison Escape dollar signs to prevent Mintlify LaTeX interpretation. Also escape underscores in VM SKU name within bold text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add caveat that deallocated VM stops Gateway Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): simplify install step with clearer description Download then run pattern (no sudo). Clarify that installer handles Node LTS, dependencies, OpenClaw install, and onboarding wizard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add Bastion provisioning latency note Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): use deployment variables in cost and cleanup sections Replace hardcoded rg-openclaw/vm-openclaw with variables in deallocate/start and group delete commands so users who customized names in step 3 get correct commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix formatting (oxfmt) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
openclaw#50700) * docs(azure): replace ARM template deployment with pure az CLI commands Rewrites the Azure install guide to use individual az CLI commands instead of referencing ARM templates in infra/azure/templates/ (removed upstream). Each Azure resource (NSG, VNet, subnets, VM, Bastion) is now created with explicit az commands, preserving the same security posture (Bastion-only SSH, no public IP, NSG hardening). Also addresses BradGroux review feedback from openclaw#47898: - Add cost considerations section (Bastion ~$140/mo, VM ~$55/mo) - Add cleanup/teardown section (az group delete) - Remove stale /install/azure/azure redirect from docs.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): split into multiple Steps blocks for richer TOC Add Quick path and What you need sections. Split the single Steps block into three (Configure deployment, Deploy Azure resources, Install OpenClaw) so H2 headers appear in the Mintlify sidebar TOC. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): remove Quick path section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix cost section LaTeX rendering, remove comparison Escape dollar signs to prevent Mintlify LaTeX interpretation. Also escape underscores in VM SKU name within bold text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add caveat that deallocated VM stops Gateway Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): simplify install step with clearer description Download then run pattern (no sudo). Clarify that installer handles Node LTS, dependencies, OpenClaw install, and onboarding wizard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add Bastion provisioning latency note Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): use deployment variables in cost and cleanup sections Replace hardcoded rg-openclaw/vm-openclaw with variables in deallocate/start and group delete commands so users who customized names in step 3 get correct commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix formatting (oxfmt) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
openclaw#50700) * docs(azure): replace ARM template deployment with pure az CLI commands Rewrites the Azure install guide to use individual az CLI commands instead of referencing ARM templates in infra/azure/templates/ (removed upstream). Each Azure resource (NSG, VNet, subnets, VM, Bastion) is now created with explicit az commands, preserving the same security posture (Bastion-only SSH, no public IP, NSG hardening). Also addresses BradGroux review feedback from openclaw#47898: - Add cost considerations section (Bastion ~$140/mo, VM ~$55/mo) - Add cleanup/teardown section (az group delete) - Remove stale /install/azure/azure redirect from docs.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): split into multiple Steps blocks for richer TOC Add Quick path and What you need sections. Split the single Steps block into three (Configure deployment, Deploy Azure resources, Install OpenClaw) so H2 headers appear in the Mintlify sidebar TOC. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): remove Quick path section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix cost section LaTeX rendering, remove comparison Escape dollar signs to prevent Mintlify LaTeX interpretation. Also escape underscores in VM SKU name within bold text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add caveat that deallocated VM stops Gateway Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): simplify install step with clearer description Download then run pattern (no sudo). Clarify that installer handles Node LTS, dependencies, OpenClaw install, and onboarding wizard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add Bastion provisioning latency note Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): use deployment variables in cost and cleanup sections Replace hardcoded rg-openclaw/vm-openclaw with variables in deallocate/start and group delete commands so users who customized names in step 3 get correct commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix formatting (oxfmt) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
openclaw#50700) * docs(azure): replace ARM template deployment with pure az CLI commands Rewrites the Azure install guide to use individual az CLI commands instead of referencing ARM templates in infra/azure/templates/ (removed upstream). Each Azure resource (NSG, VNet, subnets, VM, Bastion) is now created with explicit az commands, preserving the same security posture (Bastion-only SSH, no public IP, NSG hardening). Also addresses BradGroux review feedback from openclaw#47898: - Add cost considerations section (Bastion ~$140/mo, VM ~$55/mo) - Add cleanup/teardown section (az group delete) - Remove stale /install/azure/azure redirect from docs.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): split into multiple Steps blocks for richer TOC Add Quick path and What you need sections. Split the single Steps block into three (Configure deployment, Deploy Azure resources, Install OpenClaw) so H2 headers appear in the Mintlify sidebar TOC. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): remove Quick path section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix cost section LaTeX rendering, remove comparison Escape dollar signs to prevent Mintlify LaTeX interpretation. Also escape underscores in VM SKU name within bold text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add caveat that deallocated VM stops Gateway Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): simplify install step with clearer description Download then run pattern (no sudo). Clarify that installer handles Node LTS, dependencies, OpenClaw install, and onboarding wizard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add Bastion provisioning latency note Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): use deployment variables in cost and cleanup sections Replace hardcoded rg-openclaw/vm-openclaw with variables in deallocate/start and group delete commands so users who customized names in step 3 get correct commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix formatting (oxfmt) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
openclaw#50700) * docs(azure): replace ARM template deployment with pure az CLI commands Rewrites the Azure install guide to use individual az CLI commands instead of referencing ARM templates in infra/azure/templates/ (removed upstream). Each Azure resource (NSG, VNet, subnets, VM, Bastion) is now created with explicit az commands, preserving the same security posture (Bastion-only SSH, no public IP, NSG hardening). Also addresses BradGroux review feedback from openclaw#47898: - Add cost considerations section (Bastion ~$140/mo, VM ~$55/mo) - Add cleanup/teardown section (az group delete) - Remove stale /install/azure/azure redirect from docs.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): split into multiple Steps blocks for richer TOC Add Quick path and What you need sections. Split the single Steps block into three (Configure deployment, Deploy Azure resources, Install OpenClaw) so H2 headers appear in the Mintlify sidebar TOC. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): remove Quick path section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix cost section LaTeX rendering, remove comparison Escape dollar signs to prevent Mintlify LaTeX interpretation. Also escape underscores in VM SKU name within bold text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add caveat that deallocated VM stops Gateway Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): simplify install step with clearer description Download then run pattern (no sudo). Clarify that installer handles Node LTS, dependencies, OpenClaw install, and onboarding wizard. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): add Bastion provisioning latency note Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): use deployment variables in cost and cleanup sections Replace hardcoded rg-openclaw/vm-openclaw with variables in deallocate/start and group delete commands so users who customized names in step 3 get correct commands. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(azure): fix formatting (oxfmt) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>







Summary
infra/azure/templates/which have been removed upstream. The guide was broken (404 template URIs).docs/install/azure.mdto use pureazCLI commands instead of ARM templates. Added cost considerations and cleanup sections. Removed stale redirect fromdocs.json.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
azCLI steps instead of a single ARM template deployment$140/mo) and VM ($55/mo) pricing with cost-saving tipsaz group deletefor easy teardown/install/azure/azureredirect fromdocs.jsoninfra/azure/templates/(directory no longer exists)Security Impact (required)
No)No)No)No)No)Yes, explain risk + mitigation:N/ARepro + Verification
Environment
Steps
docs/install/azure.md— all ARM template references replaced withazCLI commandsdocs.jsonis valid JSON with stale redirect removedinfra/azure/templates/in the docs directoryazCLI commands match the resources previously created by the ARM template (NSG with 3 rules, VNet with 2 subnets, VM with no public IP, Bastion Standard with tunneling)Expected
azCLI commandsActual
Evidence
Human Verification (required)
docs/install/azure.md,docs/docs.json)azCLI commands create identical resources to the removed ARM templatedocs.jsonremains valid JSONinfra/azure/templates/in docs--public-ip-address ""and--nsg ""flags verified for VM creation--enable-tunneling truefor CLI SSH supportReview Conversations
Compatibility / Migration
Yes)No)No)Failure Recovery (if this breaks)
docs/install/azure.md,docs/docs.jsonRisks and Mitigations
None— docs-only change with no runtime impact.