{
  "repo": "pingcap/dead-mans-switch",
  "binary": "dead-mans-switch",
  "binary_path": "main.go",
  "dependencies": {
    "Runtime DeadMansSwitchLifecycle.Startup": {
      "infrastructure": {},
      "services": [
        {
          "name": "pagerduty",
          "target_interface": "Events API",
          "operation_type": "http_post",
          "conditions": [
            "When the evaluation loop decides the watchdog payload is missing or invalid"
          ],
          "operations": [
            {
              "operation": "HTTP POST",
              "trigger": "Send PagerDuty incident notifications for failed dead-man checks",
              "conditions": [
                "Only when PagerDuty notify callback is invoked"
              ],
              "implementation": "NewPagerDutyNotify(...).Notify(...)"
            }
          ]
        }
      ]
    },
    "HTTP GET /metrics": {
      "infrastructure": {},
      "services": []
    },
    "HTTP POST /webhook": {
      "infrastructure": {},
      "services": [
        {
          "name": "alertmanager",
          "target_interface": "Webhook receiver payload",
          "operation_type": "http_webhook",
          "conditions": [
            "Always for incoming webhook requests"
          ],
          "operations": [
            {
              "operation": "Receive webhook payload",
              "trigger": "Accept Watchdog alerts from Alertmanager",
              "conditions": [
                "Always"
              ],
              "implementation": "webhook(evaluateMessage, config.Evaluate)"
            }
          ]
        }
      ]
    },
    "HTTP GET /health": {
      "infrastructure": {},
      "services": []
    }
  }
}
