- 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
74 lines
2.5 KiB
Bash
Executable File
74 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Verify Proxmox provider configuration in Kubernetes
|
|
|
|
set -e
|
|
|
|
echo "=== Verifying Provider Configuration ==="
|
|
echo ""
|
|
|
|
# Check if kubectl is available
|
|
if ! command -v kubectl &> /dev/null; then
|
|
echo "ERROR: kubectl not found. Please install kubectl and configure kubeconfig."
|
|
exit 1
|
|
fi
|
|
|
|
# Check provider config
|
|
echo "1. Checking ProviderConfig:"
|
|
echo "----------------------------------------"
|
|
if kubectl get providerconfig proxmox-provider-config -n crossplane-system 2>/dev/null; then
|
|
echo ""
|
|
echo " ✅ ProviderConfig exists"
|
|
kubectl get providerconfig proxmox-provider-config -n crossplane-system -o yaml | grep -A 5 "spec:" || true
|
|
else
|
|
echo " ❌ ProviderConfig 'proxmox-provider-config' not found in crossplane-system namespace"
|
|
echo ""
|
|
echo " Create it with:"
|
|
echo " kubectl apply -f crossplane-provider-proxmox/examples/provider-config.yaml"
|
|
fi
|
|
|
|
echo ""
|
|
echo "2. Checking Provider Secrets:"
|
|
echo "----------------------------------------"
|
|
SECRETS=$(kubectl get secrets -n crossplane-system 2>/dev/null | grep -i proxmox || echo "")
|
|
if [ -n "$SECRETS" ]; then
|
|
echo " ✅ Found Proxmox secrets:"
|
|
echo "$SECRETS"
|
|
else
|
|
echo " ⚠️ No Proxmox secrets found in crossplane-system namespace"
|
|
fi
|
|
|
|
echo ""
|
|
echo "3. Checking Provider Pod:"
|
|
echo "----------------------------------------"
|
|
PODS=$(kubectl get pods -n crossplane-system 2>/dev/null | grep crossplane-provider-proxmox || echo "")
|
|
if [ -n "$PODS" ]; then
|
|
echo " ✅ Provider pods:"
|
|
echo "$PODS"
|
|
echo ""
|
|
echo " Pod status:"
|
|
kubectl get pods -n crossplane-system | grep crossplane-provider-proxmox | awk '{print " " $1 ": " $3 " (Ready: " $2 ")"}'
|
|
else
|
|
echo " ❌ No crossplane-provider-proxmox pods found"
|
|
echo ""
|
|
echo " Deploy provider with:"
|
|
echo " kubectl apply -f crossplane-provider-proxmox/config/provider.yaml"
|
|
fi
|
|
|
|
echo ""
|
|
echo "4. Checking Provider Logs (last 10 lines):"
|
|
echo "----------------------------------------"
|
|
if kubectl get pods -n crossplane-system | grep -q crossplane-provider-proxmox; then
|
|
POD_NAME=$(kubectl get pods -n crossplane-system | grep crossplane-provider-proxmox | head -1 | awk '{print $1}')
|
|
if [ -n "$POD_NAME" ]; then
|
|
echo " Logs from $POD_NAME:"
|
|
kubectl logs -n crossplane-system "$POD_NAME" --tail=10 2>&1 | sed 's/^/ /' || echo " Could not retrieve logs"
|
|
fi
|
|
else
|
|
echo " ⚠️ No provider pod available for log check"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Summary ==="
|
|
echo ""
|
|
|