{
  "repo": "pingcap/monitoring",
  "binary": "reload",
  "binary_path": "reload/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "MonitoringReloadAPI",
      "type": "http",
      "methods": [
        {
          "name": "ListRules",
          "name_key": "HTTP GET /monitoring/rules",
          "path": "/monitoring/rules",
          "method": "GET",
          "description": "Proxy the current Prometheus rule groups from the configured Prometheus server."
        },
        {
          "name": "ListConfigs",
          "name_key": "HTTP GET /monitoring/configs",
          "path": "/monitoring/configs",
          "method": "GET",
          "description": "List rule config files under the watched directory."
        },
        {
          "name": "GetConfig",
          "name_key": "HTTP GET /monitoring/configs/:config",
          "path": "/monitoring/configs/:config",
          "method": "GET",
          "description": "Read a specific rule file from the watched directory."
        },
        {
          "name": "UpdateConfig",
          "name_key": "HTTP PUT /monitoring/configs/:config",
          "path": "/monitoring/configs/:config",
          "method": "PUT",
          "description": "Validate and overwrite a watched rule file, and optionally mirror it into the latest-rules store path."
        }
      ]
    },
    {
      "name": "StaticUI",
      "type": "http",
      "methods": [
        {
          "name": "ServeUI",
          "name_key": "Runtime StaticUI.ServeUI",
          "path": "/*",
          "method": "ANY",
          "description": "Serve the embedded statik UI for any unmatched route."
        }
      ]
    },
    {
      "name": "ReloadWatcher",
      "type": "worker",
      "methods": [
        {
          "name": "WatchRuleDirectory",
          "name_key": "Runtime ReloadWatcher.WatchRuleDirectory",
          "description": "Watch the configured rule directory with fsnotify and trigger Prometheus reload requests when files change."
        }
      ]
    }
  ],
  "extensions": {}
}
