Initial commit

This commit is contained in:
Scooby Husky
2026-03-09 20:21:35 -05:00
commit aacb8eebbe
314 changed files with 21766 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
#!/bin/bash
set -euo pipefail
# Import Grafana dashboards from grafana.com
# Usage: ./import-grafana-dashboards.sh
GRAFANA_URL="http://localhost:3000"
GRAFANA_USER="admin"
GRAFANA_PASSWORD=$(kubectl get secret -n grafana grafana -o jsonpath="{.data.admin-password}" | base64 --decode)
# Dashboard IDs and their folders
declare -A DASHBOARDS
DASHBOARDS[7249]="Kubernetes" # K8s Cluster
DASHBOARDS[11663]="Kubernetes" # K8s Resources Cluster
DASHBOARDS[11664]="Kubernetes" # K8s Resources Namespace
DASHBOARDS[11665]="Kubernetes" # K8s Resources Pod
DASHBOARDS[11001]="Infrastructure" # Cert-Manager
DASHBOARDS[16888]="Infrastructure" # Longhorn
DASHBOARDS[9628]="Infrastructure" # PostgreSQL
DASHBOARDS[14584]="Infrastructure" # ArgoCD
echo "Starting port-forward to Grafana..."
kubectl port-forward -n grafana svc/grafana 3000:80 &
PF_PID=$!
sleep 5
# Create folders
echo "Creating folders..."
for folder in "Kubernetes" "Infrastructure"; do
curl -s -X POST -H "Content-Type: application/json" \
-u "${GRAFANA_USER}:${GRAFANA_PASSWORD}" \
-d "{\"title\":\"${folder}\"}" \
"${GRAFANA_URL}/api/folders" || true
done
# Import dashboards
for dashboard_id in "${!DASHBOARDS[@]}"; do
folder="${DASHBOARDS[$dashboard_id]}"
echo "Importing dashboard ${dashboard_id} to folder ${folder}..."
# Get folder UID
folder_uid=$(curl -s -u "${GRAFANA_USER}:${GRAFANA_PASSWORD}" \
"${GRAFANA_URL}/api/folders" | \
jq -r ".[] | select(.title==\"${folder}\") | .uid")
# Download and import dashboard
dashboard_json=$(curl -s "https://grafana.com/api/dashboards/${dashboard_id}/revisions/1/download")
# Prepare import payload
import_payload=$(jq -n \
--arg folderUid "$folder_uid" \
--argjson dashboard "$dashboard_json" \
'{
dashboard: $dashboard,
folderUid: $folderUid,
overwrite: true
}')
curl -s -X POST -H "Content-Type: application/json" \
-u "${GRAFANA_USER}:${GRAFANA_PASSWORD}" \
-d "$import_payload" \
"${GRAFANA_URL}/api/dashboards/db" | jq -r '.status'
done
echo "Stopping port-forward..."
kill $PF_PID
echo "Dashboard import complete!"
echo "Access Grafana at: https://grafana.kube.huskypup.net"