- Add comprehensive database migrations (001-024) for schema evolution - Enhance API schema with expanded type definitions and resolvers - Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth - Implement new services: AI optimization, billing, blockchain, compliance, marketplace - Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage) - Update Crossplane provider with enhanced VM management capabilities - Add comprehensive test suite for API endpoints and services - Update frontend components with improved GraphQL subscriptions and real-time updates - Enhance security configurations and headers (CSP, CORS, etc.) - Update documentation and configuration files - Add new CI/CD workflows and validation scripts - Implement design system improvements and UI enhancements
4.3 KiB
4.3 KiB
Proxmox Deployment - Readiness Checklist
Last Updated: 2024-12-19
Status: ✅ READY FOR DEPLOYMENT
Pre-Deployment Checklist
✅ Credentials Configured
- Cloudflare Global API Key added to
.env - Cloudflare Email added to
.env - Cloudflare Origin CA Key added to
.env - Cloudflare Zone ID (can be auto-detected)
- Cloudflare Account ID (can be auto-detected)
- Proxmox API tokens (to be created)
✅ Configuration Files
- Provider configuration complete
- Cloudflare tunnel configs complete
- DNS configuration files ready
- VM example manifests ready
- All placeholders replaced
✅ Scripts Ready
- 17 automation scripts complete
- All scripts support
.envloading - Validation scripts ready
- Deployment scripts ready
✅ Documentation
- 25+ documentation files complete
- Quick start guide
- Deployment guides
- Development guides
- Script reference
Deployment Steps
Step 1: Get Cloudflare Information
# Auto-detect Zone ID and Account ID
./scripts/get-cloudflare-info.sh
This will:
- Get Zone ID for
sankofa.nexus - Get Account ID
- Optionally update
.envfile
Step 2: Setup DNS Records
# Create DNS records for Proxmox instances
./scripts/setup-dns-records.sh
This will create:
- A records:
ml110-01.sankofa.nexus,r630-01.sankofa.nexus - CNAME records:
*-api.sankofa.nexus,*-metrics.sankofa.nexus
Step 3: Create Proxmox API Tokens
For each Proxmox instance:
- Log in to Proxmox web UI
- Go to: Datacenter → Permissions → API Tokens
- Create token:
- Token ID:
crossplane-<site-name> - User:
root@pam(or dedicated service account) - Permissions: Administrator (or specific VM permissions)
- Token ID:
- Save token secret securely
Step 4: Create Kubernetes Secret
# Interactive secret creation
./scripts/create-proxmox-secret.sh
This will:
- Prompt for credentials
- Create Kubernetes secret in
crossplane-systemnamespace
Step 5: Deploy Crossplane Provider
# Build and deploy provider
./scripts/deploy-crossplane-provider.sh
Or skip build:
BUILD_PROVIDER=false ./scripts/deploy-crossplane-provider.sh
Step 6: Apply ProviderConfig
# Apply provider configuration
kubectl apply -f crossplane-provider-proxmox/examples/provider-config.yaml
Step 7: Verify Deployment
# Verify provider is running
./scripts/verify-provider-deployment.sh
Step 8: Deploy Test VMs
# Deploy test VMs to both instances
./scripts/deploy-test-vms.sh
Step 9: Setup Monitoring
# Configure Prometheus and Grafana
./scripts/setup-monitoring.sh
Step 10: Setup Proxmox Agents
On each Proxmox node:
SITE=us-sfvalley NODE=ML110-01 ./scripts/setup-proxmox-agents.sh
Quick Deployment
For automated deployment:
./scripts/quick-deploy.sh
Verification Commands
Check Provider Status
kubectl get pods -n crossplane-system
kubectl logs -n crossplane-system -l app=crossplane-provider-proxmox
Check VM Status
kubectl get proxmoxvm
kubectl describe proxmoxvm <vm-name>
Check DNS Resolution
dig ml110-01.sankofa.nexus
dig r630-01.sankofa.nexus
Test Proxmox Connectivity
export PROXMOX_TOKEN='user@realm!token-id=token-secret'
./scripts/test-proxmox-connectivity.sh
Troubleshooting
DNS Not Resolving
- Check Cloudflare dashboard
- Verify Zone ID is correct
- Check DNS records exist
- Wait for DNS propagation (up to 5 minutes)
Provider Not Starting
- Check provider logs
- Verify ProviderConfig is correct
- Check credentials secret exists
- Verify CRDs are installed
VM Creation Failing
- Check VM resource status
- Review provider logs
- Verify Proxmox API access
- Check node names match
Next Steps After Deployment
- Production VMs: Create production VM manifests
- Backups: Configure automated backups
- Monitoring: Set up alerts
- Security: Review and harden configuration
- Documentation: Update with actual values