Files
Sankofa/docs/proxmox/guides/DEPLOYMENT_CHECKLIST.md
defiQUG a8106e24ee Remove obsolete audit and deployment documentation files
- Deleted outdated files related to repository audit and deployment status, including AUDIT_COMPLETE.md, AUDIT_FIXES_APPLIED.md, FINAL_DEPLOYMENT_STATUS.md, and others.
- Cleaned up documentation to streamline the repository and improve clarity for future maintenance.
- Updated README and other relevant documentation to reflect the removal of these files.
2025-12-12 19:42:31 -08:00

5.3 KiB

Proxmox Deployment Checklist

Last Updated: 2024-12-19
Status: Configuration Complete - Ready for Deployment

Pre-Deployment Checklist

Completed (Can be done without access)

  • Code Implementation

    • Proxmox API client complete
    • HTTP client with authentication
    • Metrics collector implemented
    • All CRD definitions ready
  • Configuration

    • Provider configuration files ready
    • Cloudflare tunnel configs ready
    • DNS configuration files ready
    • All placeholders replaced
    • Node names updated (ML110-01, R630-01)
    • FQDNs configured (sankofa.nexus)
  • Documentation

    • Deployment guides complete
    • Runbooks created
    • Security documentation
    • Troubleshooting guides
    • DNS configuration guide
  • Scripts & Automation

    • DNS setup script
    • Secret creation script
    • Provider verification script
    • Connectivity test script
    • Resource discovery script

Deployment Checklist (Requires Access)

Phase 1: DNS Configuration

  • Configure DNS Records (TASK-029)
    • Get Cloudflare zone ID for sankofa.nexus
    • Run: ./scripts/setup-dns-records.sh
    • Or configure manually via Cloudflare dashboard
    • Verify DNS resolution: dig ml110-01.sankofa.nexus
    • Verify DNS resolution: dig r630-01.sankofa.nexus

Phase 2: Proxmox Authentication

  • Create API Tokens (TASK-003, TASK-004)
    • Log into ML110-01 Proxmox UI
    • Create API token: crossplane-ml110-01
    • Log into R630-01 Proxmox UI
    • Create API token: crossplane-r630-01
    • Test authentication: ./scripts/test-proxmox-connectivity.sh

Phase 3: Kubernetes Setup

  • Install Go (if not installed)

    # Ubuntu/Debian
    sudo apt install golang-go
    
    # Or download from https://go.dev/dl/
    
  • Build Provider (TASK-009)

    cd crossplane-provider-proxmox
    make build
    make test
    
  • Deploy to Kubernetes (TASK-010)

    # Apply CRDs
    kubectl apply -f crossplane-provider-proxmox/config/crd/bases/
    
    # Deploy provider
    kubectl apply -f crossplane-provider-proxmox/config/provider.yaml
    
    # Verify
    kubectl get pods -n crossplane-system
    
  • Create Credentials Secret (TASK-011)

    # Use automated script
    ./scripts/create-proxmox-secret.sh
    
    # Or manually
    kubectl create secret generic proxmox-credentials \
      --from-literal=credentials.json='{"username":"root@pam","token":"..."}' \
      -n crossplane-system
    
  • Apply ProviderConfig (TASK-011)

    kubectl apply -f crossplane-provider-proxmox/examples/provider-config.yaml
    
    # Verify
    ./scripts/verify-provider-deployment.sh
    

Phase 4: Infrastructure Setup

  • Deploy Prometheus Exporters (TASK-012)

    # On ML110-01
    SITE=us-sfvalley NODE=ML110-01 ./scripts/setup-proxmox-agents.sh
    
    # On R630-01
    SITE=us-sfvalley-2 NODE=R630-01 ./scripts/setup-proxmox-agents.sh
    
  • Configure Cloudflare Tunnels (TASK-013)

    • Generate tunnel credentials via Cloudflare dashboard
    • Deploy tunnel configs to nodes
    • Start tunnel services
    • Verify tunnel connectivity
  • Set Up Monitoring (TASK-014)

    • Import Grafana dashboards
    • Configure Prometheus data source
    • Set up alerts
    • Verify metrics collection

Phase 5: Testing

  • Deploy Test VMs (TASK-015)

    # Instance 1
    kubectl apply -f crossplane-provider-proxmox/examples/test-vm-instance-1.yaml
    
    # Instance 2
    kubectl apply -f crossplane-provider-proxmox/examples/test-vm-instance-2.yaml
    
    # Verify
    kubectl get proxmoxvm
    
  • End-to-End Testing (TASK-016)

    • Test VM creation from portal
    • Test VM lifecycle operations
    • Test multi-site deployments
    • Test error handling
  • Performance Testing (TASK-017)

    • Load test API endpoints
    • Test concurrent operations
    • Measure response times

Quick Start Commands

1. Test Connectivity

./scripts/test-proxmox-connectivity.sh

2. Setup DNS

export CLOUDFLARE_ZONE_ID="your-zone-id"
export CLOUDFLARE_API_TOKEN="your-token"
./scripts/setup-dns-records.sh

3. Create Kubernetes Secret

./scripts/create-proxmox-secret.sh

4. Deploy Provider

cd crossplane-provider-proxmox
make build
kubectl apply -f config/crd/bases/
kubectl apply -f config/provider.yaml
kubectl apply -f examples/provider-config.yaml

5. Verify Deployment

./scripts/verify-provider-deployment.sh

Current Status

  • Code: 100% Complete
  • Configuration: 100% Complete
  • Documentation: 100% Complete
  • Scripts: 100% Complete
  • Deployment: Pending Access

Next Steps

  1. Get Cloudflare Access → Configure DNS (TASK-029)
  2. Get Proxmox Credentials → Test authentication (TASK-003, TASK-004)
  3. Set Up Kubernetes → Deploy provider (TASK-009, TASK-010, TASK-011)
  4. Deploy Infrastructure → Exporters, tunnels, monitoring (TASK-012, TASK-013, TASK-014)
  5. Test Everything → VMs, E2E, performance (TASK-015, TASK-016, TASK-017)