Fix Grafana dashboard restart workload detection

This commit is contained in:
juvdiaz 2026-06-29 18:37:12 -06:00
parent dd15faabb0
commit cc98e2f639
1 changed files with 20 additions and 1 deletions

View File

@ -23,6 +23,7 @@ apply_dashboards() {
local file local file
local base local base
local name local name
local grafana_workload=""
if ! command -v kubectl >/dev/null 2>&1; then if ! command -v kubectl >/dev/null 2>&1; then
echo "kubectl is required." >&2 echo "kubectl is required." >&2
@ -46,7 +47,25 @@ apply_dashboards() {
done < <(list_dashboards) done < <(list_dashboards)
echo "Restarting Grafana so the sidecar reloads dashboards..." echo "Restarting Grafana so the sidecar reloads dashboards..."
kubectl --kubeconfig "$KUBECONFIG_PATH" -n "$NAMESPACE" rollout restart deployment/prometheus-stack-grafana if kubectl --kubeconfig "$KUBECONFIG_PATH" -n "$NAMESPACE" get deployment prometheus-stack-grafana >/dev/null 2>&1; then
grafana_workload="deployment/prometheus-stack-grafana"
elif kubectl --kubeconfig "$KUBECONFIG_PATH" -n "$NAMESPACE" get statefulset prometheus-stack-grafana >/dev/null 2>&1; then
grafana_workload="statefulset/prometheus-stack-grafana"
else
grafana_workload="$(
kubectl --kubeconfig "$KUBECONFIG_PATH" -n "$NAMESPACE" get deployment,statefulset \
-l app.kubernetes.io/name=grafana \
-o name 2>/dev/null | head -n 1
)"
fi
if [ -z "$grafana_workload" ]; then
echo "Grafana workload was not found in namespace ${NAMESPACE}; dashboards were applied but Grafana was not restarted." >&2
echo "Check with: kubectl -n ${NAMESPACE} get deploy,sts | grep grafana" >&2
return 1
fi
kubectl --kubeconfig "$KUBECONFIG_PATH" -n "$NAMESPACE" rollout restart "$grafana_workload"
} }
case "${1:-list}" in case "${1:-list}" in