external-dns/docs/snippets/contributing/collect-extdns-info.sh
Ivan Ka 5f81c5bc97
docs: add bug report guide and improve issue template (#6272)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-14 21:43:35 +05:30

46 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Collect external-dns version, startup args, and logs.
#
# Usage:
# [NAMESPACE=external-dns] [SINCE=5m] ./collect-extdns-info.sh
#
# Examples:
# ./collect-extdns-info.sh
# NAMESPACE=my-ns ./collect-extdns-info.sh
# SINCE=30m ./collect-extdns-info.sh
# NAMESPACE=my-ns SINCE=1h ./collect-extdns-info.sh
set -euo pipefail
NS="${NAMESPACE:-external-dns}"
SINCE="${SINCE:-5m}"
OUT="extdns-info-$(date +%Y%m%d-%H%M%S).txt"
{
echo "=== external-dns version ==="
out=$(kubectl get pod -n "${NS}" \
-l app.kubernetes.io/name=external-dns \
-o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{"\n"}{end}{end}' \
2>/dev/null)
echo "${out:-(not found)}"
echo ""
echo "=== external-dns startup args ==="
out=$(kubectl get pod -n "${NS}" \
-l app.kubernetes.io/name=external-dns \
-o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{range .spec.containers[*]}{range .args[*]}{@}{"\n"}{end}{end}{end}' \
2>/dev/null)
echo "${out:-(not found)}"
echo ""
echo "=== external-dns logs (last ${SINCE}) ==="
out=$(kubectl logs -n "${NS}" \
-l app.kubernetes.io/name=external-dns \
--since="${SINCE}" --prefix=true 2>/dev/null)
echo "${out:-(not found)}"
} | tee "${OUT}"
echo ""
echo "Saved to: ${OUT}"
echo "Review for sensitive data before sharing."