#!/bin/sh . /usr/libexec/haproxy-manager/common.sh BASE="$(incident_dir)" [ ! -d "$BASE" ] || BASE="$(resolve_storage_dir "$BASE")" || exit 1 LAST="" [ ! -r "$BASE/LAST" ] || LAST="$(basename "$(sed -n '1p' "$BASE/LAST")")" safe_field() { printf '%s' "$1" | tr '\t\r\n' ' ' } count=0 for dir in $(find "$BASE" -maxdepth 1 -type d -name '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]' 2>/dev/null | sort -r); do [ -d "$dir" ] || continue id="$(basename "$dir")" latest=0 [ "$id" != "$LAST" ] || latest=1 result="$(sed -n '1p' "$dir/result" 2>/dev/null || echo detected)" action="$(sed -n 's/^action=//p' "$dir/meta" 2>/dev/null | head -1)" interface="$(sed -n 's/^interface=//p' "$dir/meta" 2>/dev/null | head -1)" reason="$(sed -n 's/^reason=//p' "$dir/meta" 2>/dev/null | head -1)" printf 'incident\t%s\t%s\t%s\t%s\t%s\t%s\n' \ "$id" "$latest" "$(safe_field "$result")" "$(safe_field "$action")" \ "$(safe_field "$interface")" "$(safe_field "$reason")" count=$((count + 1)) [ "$count" -lt "$INCIDENT_LIMIT" ] || break done