Files
Sankofa/scripts/verify-provider-config.sh

74 lines
2.5 KiB
Bash
Raw Permalink Normal View History

#!/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 ""