#!/bin/bash
# Grafana ConfigMap backup script

BACKUP_DIR="./grafana-backups/$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"

echo "Backing up Grafana ConfigMaps to $BACKUP_DIR"

# Backup all Grafana-related ConfigMaps
oc get configmaps -l app=grafana -o yaml > "$BACKUP_DIR/grafana-configmaps.yaml" 2>/dev/null || \
oc get configmaps | grep grafana | awk '{print $1}' | while read cm; do
    echo "Backing up ConfigMap: $cm"
    oc get configmap "$cm" -o yaml > "$BACKUP_DIR/$cm.yaml"
done

# Backup Grafana deployment
echo "Backing up Grafana deployment"
oc get deployment grafana -o yaml > "$BACKUP_DIR/grafana-deployment.yaml"

# Backup PVC
echo "Backing up Grafana PVC"
oc get pvc grafana-pvc -o yaml > "$BACKUP_DIR/grafana-pvc.yaml" 2>/dev/null || echo "No PVC found"

# Backup secrets
echo "Backing up Grafana secrets"
oc get secret grafana-discord-oauth -o yaml > "$BACKUP_DIR/grafana-discord-oauth-secret.yaml" 2>/dev/null || echo "No Discord OAuth secret found"

echo "Backup completed in $BACKUP_DIR"
ls -la "$BACKUP_DIR"