Publish curated Unraid-AppOps-Gateway source from a194da2defbd709ea58bd4c9503966dbd37b11f2

This commit is contained in:
Public Source Publisher committed 2026-10-14 17:11:07 +00:00
1 parent 2c5788da5d
commit c5224725b7
11 files changed
+626 -18

No files matched your search

+13 -2
View File
@@ -344,6 +344,7 @@ class GiteaActionsConnector(BaseConnector):
"severity": severity,
"generatedAt": datetime.now(UTC).isoformat(),
"runners": [],
"inventory": {"scope": "all_registrations", "complete": False},
"queue": {
"queued": 0,
"inProgress": 0,
@@ -404,7 +405,7 @@ class GiteaActionsConnector(BaseConnector):
try:
runner_payload = self._request(
"/api/v1/admin/actions/runners", {"disabled": "false"}
"/api/v1/admin/actions/runners", {"page": 1, "limit": 100}
)
queued_payload = self._request(
"/api/v1/admin/actions/jobs",
@@ -654,7 +655,7 @@ class GiteaActionsConnector(BaseConnector):
elif (
(oldest_age or 0) >= _WARNING_AGE_SECONDS
or (oldest_active_age or 0) >= _ACTIVE_WARNING_AGE_SECONDS
or len(online_runners) < len(runners)
or len(online_runners) < sum(not item["disabled"] for item in runners)
):
severity = "warning"
@@ -702,6 +703,10 @@ class GiteaActionsConnector(BaseConnector):
restart_reason = ""
for label in [*blocked_labels, *stale_active_labels]:
target = self._target_for_label(label, runners, targets)
# A disabled registration can be an operator pause or a fenced
# active lease. Neither is permission to restart its container.
if any(item["name"] == target and item["disabled"] for item in runners):
continue
if target:
restart_target = target
restart_reason = (
@@ -727,11 +732,17 @@ class GiteaActionsConnector(BaseConnector):
"severity": severity,
"generatedAt": now.isoformat(),
"runners": runners,
"inventory": {
"scope": "all_registrations",
"complete": recovery_runners is not None,
},
"summary": {
"total": len(runners),
"online": len(online_runners),
"busy": sum(bool(item["busy"]) for item in runners),
"offline": sum(item["status"] != "online" for item in runners),
"disabled": sum(item["disabled"] for item in runners),
"available": sum(not item["busy"] for item in online_runners),
},
"queue": {
"queued": display_count(queued_payload.get("total_count", 0)),