3.7 KiB
3.7 KiB
Validation Guide
Overview
This guide provides procedures for validating the DeFi Oracle Meta Mainnet (ChainID 138) deployment.
Validation Scripts
All validation scripts are located in scripts/validation/:
validate-genesis.sh- Validate genesis filevalidate-deployment.sh- Validate deploymentsvalidate-network-policies.sh- Validate Network Policiesvalidate-rbac.sh- Validate RBAC configurationvalidate-hpa.sh- Validate HPA configurationvalidate-monitoring.sh- Validate monitoring setupsecurity-scan.sh- Run security scansload-test.sh- Run load testsdisaster-recovery-test.sh- Test disaster recoveryrun-all-validations.sh- Run all validations
Running Validations
Individual Validations
# Validate genesis file
./scripts/validation/validate-genesis.sh
# Validate deployments
./scripts/validation/validate-deployment.sh
# Validate Network Policies
./scripts/validation/validate-network-policies.sh
# Validate RBAC
./scripts/validation/validate-rbac.sh
# Validate HPA
./scripts/validation/validate-hpa.sh
# Validate monitoring
./scripts/validation/validate-monitoring.sh
# Run security scans
./scripts/validation/security-scan.sh
# Run load tests
./scripts/validation/load-test.sh
# Test disaster recovery
./scripts/validation/disaster-recovery-test.sh
Run All Validations
# Run all validations
./scripts/validation/run-all-validations.sh
Validation Requirements
Prerequisites
kubectl- Kubernetes CLIjq- JSON processorcurl- HTTP clientbash- Shell
Optional Tools
trivy- Container image scannerslither- Smart contract scannerk6- Load testing toolcheckov- Terraform security scannerkube-score- Kubernetes manifest scannersafety- Python dependency scannerpromtool- Prometheus rule validatorbesu- Besu CLI for genesis validation
Validation Checklist
Pre-Deployment
- Genesis file validated
- Terraform configuration validated
- Kubernetes manifests validated
- Security scans completed
- Smart contracts tested
Post-Deployment
- All pods running
- Health checks working
- Network Policies applied
- RBAC configured
- HPA working
- Monitoring collecting metrics
- Alerts configured
- Load tests passed
- Disaster recovery tested
Validation Results
Validation results are saved in /tmp/ directory:
/tmp/trivy-scan-*.log- Container scan results/tmp/slither-scan-*.log- Smart contract scan results/tmp/foundry-tests.log- Foundry test results/tmp/k6-load-test.log- Load test results/tmp/checkov-scan.log- Terraform scan results/tmp/kube-score-scan.log- Kubernetes scan results/tmp/disaster-recovery-test-results.txt- Disaster recovery test results
Troubleshooting
Validation Failures
- Check logs in
/tmp/directory - Verify prerequisites are installed
- Check cluster connectivity
- Verify namespace exists
- Check pod status
Common Issues
- Pods not ready: Wait for pods to be ready, check resource limits
- Network Policies blocking: Verify Network Policies are correctly configured
- RBAC permissions: Verify Service Accounts have correct permissions
- Metrics not collecting: Verify metrics endpoints are accessible
- Load tests failing: Check RPC endpoint availability, verify rate limiting
Next Steps
After validation:
- Review validation results
- Fix any issues found
- Re-run validations
- Document results
- Proceed with production deployment