133 lines
3.0 KiB
Markdown
133 lines
3.0 KiB
Markdown
|
|
# 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
|
||
|
|
|