Skip to content

v1.6.0

Choose a tag to compare

@shellharbor shellharbor released this 26 Sep 13:37
· 16 commits to main since this release

Watchdog v1.6.0

Highlights

Watchdog v1.6.0 expands network monitoring, on-call alerting, and safe remediation capabilities while preserving its one-shot, dependency-light Bash design.

Added

  • DNS checks powered by dig

    • Supports A, AAAA, CNAME, MX, NS, and TXT records.
    • Validate minimum response count and exact expected answers.
    • Optional custom resolver support.
  • ICMP Ping checks powered by Linux ping

    • Monitor host reachability with configurable packet count.
    • Alert on packet-loss thresholds and optional average RTT limits.
  • PagerDuty on-call notifications

    • Creates or updates incidents on failure and escalation.
    • Resolves the matching incident automatically on recovery.
    • Uses the Watchdog incident ID as the deduplication key.
  • Opsgenie on-call notifications

    • Creates, escalates, and closes alerts through the Opsgenie Alert API.
    • Supports US and EU API regions.
    • Uses the Watchdog incident ID as the alert alias to prevent duplicates.
  • Remote HTTP remediation via actions.http

    • Call restart, orchestration, or cloud APIs using POST, PUT, PATCH, or DELETE.
    • Configure request headers, optional request bodies, timeouts, and accepted HTTP status codes.
    • Runs after local remediation commands and respects cooldowns, backoff, maintenance windows, circuit breakers, flapping protection, verification, and --dry-run.
  • HTTP remediation allowlisting

    • Enforce exact method-and-URL pairs with security.remediation_policy.allowed_http.
    • Extends enforce-mode protection without changing legacy configurations.

Security

  • PagerDuty keys, Opsgenie keys, remote API headers, and request bodies can be supplied through *_env fields.
  • Sensitive request data is written only to private temporary files and is never exposed through curl command-line arguments, logs, state, metrics, history, or the status page.
  • DNS and Ping dependencies are checked only when their corresponding check type is enabled.

Documentation and Quality

  • Added DNS/Ping, on-call notification, and remote HTTP remediation examples.
  • Updated the JSON Schema for editor validation and autocomplete.
  • Added negative schema fixtures and end-to-end coverage for all new functionality.
  • Updated the README, Wiki, changelog, and project skill contract.

Compatibility

All new capabilities are opt-in. Existing configurations, state files, metrics, exit codes, and monitoring behavior remain unchanged.