# VM Deployment Checklist ## Pre-Deployment - [ ] Azure subscription configured - [ ] Azure CLI installed and logged in - [ ] Terraform >= 1.0 installed - [ ] SSH key pair generated - [ ] Resource group created - [ ] Network infrastructure deployed (VNet, subnets, NSGs) - [ ] Key Vault created and configured - [ ] Genesis file generated - [ ] Validator keys generated - [ ] Terraform variables configured (`terraform.tfvars.vm`) ## Deployment - [ ] Terraform initialized (`terraform init`) - [ ] Terraform plan reviewed (`terraform plan`) - [ ] VM deployment enabled (`vm_deployment_enabled = true`) - [ ] SSH public key configured - [ ] VM sizes selected appropriately - [ ] Disk sizes configured - [ ] Terraform apply executed (`terraform apply`) - [ ] VMs created successfully - [ ] Public IPs assigned (sentries and RPC nodes) - [ ] Network Security Groups configured ## Post-Deployment ### Validation - [ ] All VMs created (validators, sentries, RPC) - [ ] All VMs running - [ ] SSH access working - [ ] Docker installed on all VMs - [ ] Besu containers running - [ ] Genesis file present - [ ] Validator keys present (for validators) - [ ] Configuration files present ### Network - [ ] Validators in private subnets - [ ] Sentries have public IPs - [ ] RPC nodes have public IPs - [ ] NSG rules configured correctly - [ ] P2P port (30303) accessible for sentries - [ ] RPC port (8545) accessible for RPC nodes - [ ] Metrics port (9545) accessible ### Functionality - [ ] Validators syncing - [ ] Sentries peering - [ ] RPC endpoints responding - [ ] Chain ID correct (138) - [ ] Block production working - [ ] Transactions processing ### Security - [ ] Managed Identity configured - [ ] Key Vault access policies set - [ ] NSG rules restrictive - [ ] SSH keys configured - [ ] No hardcoded secrets - [ ] Boot diagnostics enabled ### Monitoring - [ ] Metrics endpoint accessible - [ ] Logs accessible - [ ] Monitoring scripts working - [ ] Health checks passing - [ ] Alerts configured (if applicable) ## Operations ### Daily - [ ] Check VM status - [ ] Check Besu container status - [ ] Review logs for errors - [ ] Check resource usage - [ ] Verify block production ### Weekly - [ ] Review security logs - [ ] Check disk usage - [ ] Review performance metrics - [ ] Update documentation - [ ] Review costs ### Monthly - [ ] Security audit - [ ] Backup verification - [ ] Disaster recovery test - [ ] Capacity planning review - [ ] Update dependencies ## Troubleshooting - [ ] Troubleshooting guide reviewed - [ ] Diagnostic scripts available - [ ] Support contacts documented - [ ] Runbook procedures tested ## Documentation - [ ] Deployment guide reviewed - [ ] Quick start guide reviewed - [ ] Troubleshooting guide reviewed - [ ] Runbooks created - [ ] Architecture documented ## Sign-off - [ ] All checks completed - [ ] Network operational - [ ] Security verified - [ ] Monitoring configured - [ ] Documentation complete - [ ] Team trained --- **Last Updated**: $(date +%Y-%m-%d) **Deployment Version**: 1.0