Files
Sankofa/docs/proxmox/DEPLOYMENT_READINESS.md
defiQUG 9daf1fd378 Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- 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
2025-12-12 18:01:35 -08:00

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 .env loading
  • 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 .env file

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:

  1. Log in to Proxmox web UI
  2. Go to: Datacenter → Permissions → API Tokens
  3. Create token:
    • Token ID: crossplane-<site-name>
    • User: root@pam (or dedicated service account)
    • Permissions: Administrator (or specific VM permissions)
  4. 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-system namespace

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

  1. Check Cloudflare dashboard
  2. Verify Zone ID is correct
  3. Check DNS records exist
  4. Wait for DNS propagation (up to 5 minutes)

Provider Not Starting

  1. Check provider logs
  2. Verify ProviderConfig is correct
  3. Check credentials secret exists
  4. Verify CRDs are installed

VM Creation Failing

  1. Check VM resource status
  2. Review provider logs
  3. Verify Proxmox API access
  4. Check node names match

Next Steps After Deployment

  1. Production VMs: Create production VM manifests
  2. Backups: Configure automated backups
  3. Monitoring: Set up alerts
  4. Security: Review and harden configuration
  5. Documentation: Update with actual values