Thank you for your interest in contributing to the Nutanix to Azure Local Migration project. Contributions are welcome — especially around additional migration scenarios, automation scripts, and real-world runbook refinements.
- Read the README for a project overview
- This project documents production migration paths — test all script changes in a non-production environment
- Check open issues and pull requests to avoid duplicate work
Use the GitHub Issues tab. Include:
- Which migration scenario or path (Veeam, HYCU, Commvault, Deploy-First, etc.)
- Which step in the runbook failed or is unclear
- Full error messages and environment details (Nutanix version, Azure Local version, tool version)
Open an issue describing the use case or migration scenario you want to add. Describe the business problem, not just the solution.
All automation lives in src/. Structure:
src/01-veeam/— Veeam scenario scriptssrc/02-hycu/— HYCU scenario scriptssrc/03-commvault/— Commvault scenario scriptssrc/04-deploy-first/— Deploy-first scenario scriptssrc/common/— Shared helpers used by multiple scenarios
Each subfolder contains powershell/, bicep/, ansible/, or terraform/ subdirectories as appropriate.
- Fork the repo and create a branch from
main - Name branches using conventional types:
feat/veeam-re-ip-automation,fix/hycu-restore-steps,docs/deploy-first-scenario - Keep changes focused — one logical change per PR
- Update the relevant
docs/pages if your change affects runbook steps or prerequisites - Add an entry to CHANGELOG.md under
[Unreleased] - Fill out the pull request template completely
This project uses Conventional Commits:
<type>(<scope>): <description>
| Type | When |
|---|---|
feat |
New feature or scenario |
fix |
Bug fix in automation |
docs |
Documentation updates |
chore |
Maintenance, scaffolding |
ci |
CI/CD workflow changes |
refactor |
Code restructuring |
All examples and configurations must use Contoso (IIC) naming. See Standards.
- Company: Contoso
- Domain:
contoso.cloud/contoso.local - Resources:
rg-iic-<purpose>-<##>,azlocal-iic-01, etc. - Never use real customer names,
contoso,fabrikam,example.com, or internal company names
This project uses MkDocs Material. Follow these conventions:
- Admonitions:
!!! note,!!! warning,!!! tip,!!! danger - Tabs: Use
=== "Nutanix AHV"/=== "Nutanix ESXi"for source-platform variations - Code blocks: Always include a language identifier (
```powershell,```yaml, etc.) - Tables: Use standard Markdown tables
pip install mkdocs-material
mkdocs serveNavigate to http://localhost:8000 to preview the docs site locally.