Files
pulsenode/lib/types/widget-result.ts
T
valknar 8c87680078
CI / Static checks (push) Successful in 37s
CI / Build and push image (push) Successful in 1m9s
feat: fold traefik into the service widget type, remove the dedicated one
Traefik gets the same treatment as the other six services now instead
of a bespoke widget type: docker health merged with a single "Routes"
stat, via the same internal container-to-container API call
(http://traefik:8080/api/http/routers) it already used. No auth
needed, same as before.

Deleted lib/collectors/traefik.ts, lib/types/traefik-result.ts, and
components/widgets/traefik/ entirely - the generic service Widget.tsx
and ServiceWidgetResult shape cover it with zero new component code.
2026-08-17 21:33:33 +02:00

24 lines
866 B
TypeScript

import type { SystemResult } from "./system-result";
import type { HttpCheckResult } from "./http-result";
import type { ServiceWidgetResult } from "./service-result";
export interface DockerContainerResult {
status: "running" | "exited" | "restarting" | "paused" | "dead" | "created" | "unknown";
health: "healthy" | "unhealthy" | "starting" | "none";
startedAt: string | null;
uptimeSeconds: number | null;
restartCount: number;
cpuPercent: number | null;
memUsageBytes: number | null;
memLimitBytes: number | null;
image: string;
}
export type WidgetResult =
| { type: "docker"; data: DockerContainerResult }
| { type: "database"; data: DockerContainerResult }
| { type: "system"; data: SystemResult }
| { type: "http"; data: HttpCheckResult }
| { type: "service"; data: ServiceWidgetResult }
| { type: "error"; message: string };