PPanel Edge

health

由 openapi.json 自动生成的 3 个端点及其请求、响应和权限元数据。

此参考由已发布 API 契约生成。字段、请求头和权限要求如下。

下载完整 OpenAPI 文档 · SHA-256: ccaa20cec11fad96e369b88073ce3608a5b071ce55d6dc03fa31df7b0f08c525

标识符和数据结构与公开契约一致,说明直接给出调用规则。共享模型见 数据模型.

GET /api/v1/admin/health

GET /api/v1/admin/health

Database, queues and active volatile store

{
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "database": {
                "properties": {
                  "available": {
                    "type": "boolean"
                  },
                  "compatible": {
                    "type": "boolean"
                  },
                  "min_app_schema": {
                    "type": "number"
                  },
                  "schema_version": {
                    "type": "number"
                  }
                },
                "required": [
                  "available",
                  "schema_version",
                  "min_app_schema",
                  "compatible"
                ],
                "type": "object"
              },
              "installed": {
                "type": "boolean"
              },
              "job_kinds": {
                "items": {
                  "properties": {
                    "dead": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "failures_1h": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "oldest_due_seconds": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "pending": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "queue": {
                      "enum": [
                        "default",
                        "heavy"
                      ],
                      "type": "string"
                    },
                    "running": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "superseded_1h": {
                      "minimum": 0,
                      "type": "number"
                    }
                  },
                  "required": [
                    "queue",
                    "pending",
                    "oldest_due_seconds",
                    "running",
                    "failures_1h",
                    "dead",
                    "superseded_1h",
                    "kind"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "queues": {
                "items": {
                  "properties": {
                    "dead": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "failures_1h": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "oldest_due_seconds": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "pending": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "queue": {
                      "enum": [
                        "default",
                        "heavy"
                      ],
                      "type": "string"
                    },
                    "running": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "superseded_1h": {
                      "minimum": 0,
                      "type": "number"
                    }
                  },
                  "required": [
                    "queue",
                    "pending",
                    "oldest_due_seconds",
                    "running",
                    "failures_1h",
                    "dead",
                    "superseded_1h"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "ready": {
                "type": "boolean"
              },
              "volatile": {
                "properties": {
                  "available": {
                    "type": "boolean"
                  },
                  "kind": {
                    "type": "string"
                  },
                  "latency_ms": {
                    "type": "number"
                  },
                  "rate_limit_degraded": {
                    "type": "number"
                  },
                  "unavailable_total": {
                    "type": "number"
                  }
                },
                "required": [
                  "kind",
                  "available",
                  "latency_ms",
                  "unavailable_total",
                  "rate_limit_degraded"
                ],
                "type": "object"
              }
            },
            "required": [
              "ready",
              "database",
              "installed",
              "queues",
              "job_kinds",
              "volatile"
            ],
            "type": "object"
          }
        }
      },
      "description": "Health"
    }
  },
  "summary": "Database, queues and active volatile store",
  "tags": [
    "health"
  ],
  "x-body": "none",
  "x-body-limit": 0,
  "x-permission": "ops.health.read",
  "effectiveSecurity": []
}

GET /healthz

GET /healthz

Liveness (no database access)

{
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Health"
          }
        }
      },
      "description": "Alive"
    }
  },
  "summary": "Liveness (no database access)",
  "tags": [
    "health"
  ],
  "x-body": "none",
  "x-body-limit": 0,
  "effectiveSecurity": []
}

GET /readyz

GET /readyz

Readiness: database, schema compatibility window, installation

{
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Readiness"
          }
        }
      },
      "description": "Ready"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Readiness"
          }
        }
      },
      "description": "Not ready"
    }
  },
  "summary": "Readiness: database, schema compatibility window, installation",
  "tags": [
    "health"
  ],
  "x-body": "none",
  "x-body-limit": 0,
  "effectiveSecurity": []
}