feat(per-instance-hook-scoping): scope observability + backup hooks by instance

This commit is contained in:
Developer
2026-07-09 23:54:31 +00:00
parent ad61d92b32
commit 3bc7ce5269
12 changed files with 268 additions and 73 deletions
+9 -2
View File
@@ -6,8 +6,11 @@ import type {
BackupRun,
} from "../types/backups";
export async function fetchBackupJobs(): Promise<BackupJob[]> {
return get<BackupJob[]>("/api/backups/jobs");
export async function fetchBackupJobs(serviceId?: string): Promise<BackupJob[]> {
return get<BackupJob[]>(
"/api/backups/jobs",
serviceId ? { service_id: serviceId } : undefined,
);
}
export async function fetchBackupJob(
@@ -21,10 +24,12 @@ export async function fetchBackupJob(
export async function fetchBackupRuns(
jobId?: string,
status?: string,
serviceId?: string,
): Promise<BackupRun[]> {
return get<BackupRun[]>("/api/backups/runs", {
...(jobId ? { job_id: jobId } : {}),
...(status ? { status } : {}),
...(serviceId ? { service_id: serviceId } : {}),
});
}
@@ -36,6 +41,7 @@ export async function fetchBackupAlerts(
jobId?: string,
acknowledged?: boolean,
severity?: string,
serviceId?: string,
): Promise<BackupAlert[]> {
return get<BackupAlert[]>("/api/backups/alerts", {
...(jobId ? { job_id: jobId } : {}),
@@ -43,6 +49,7 @@ export async function fetchBackupAlerts(
? { acknowledged: String(acknowledged) }
: {}),
...(severity ? { severity } : {}),
...(serviceId ? { service_id: serviceId } : {}),
});
}
+15 -6
View File
@@ -292,14 +292,23 @@ export const sendUserMessage = (formData: FormData) =>
postForm<UserMessageResponse>("/api/users/message", formData);
// Observability summary endpoints
export const fetchAlertmanagerAlerts = () =>
get<AlertmanagerAlertSummary>("/api/monitoring/alerts");
export const fetchAlertmanagerAlerts = (serviceId?: string) =>
get<AlertmanagerAlertSummary>(
"/api/monitoring/alerts",
serviceId ? { service_id: serviceId } : undefined,
);
export const fetchAlertmanagerStatus = () =>
get<AlertmanagerStatus>("/api/monitoring/alertmanager-status");
export const fetchAlertmanagerStatus = (serviceId?: string) =>
get<AlertmanagerStatus>(
"/api/monitoring/alertmanager-status",
serviceId ? { service_id: serviceId } : undefined,
);
export const fetchPrometheusStatus = () =>
get<PrometheusStatus>("/api/monitoring/prometheus-status");
export const fetchPrometheusStatus = (serviceId?: string) =>
get<PrometheusStatus>(
"/api/monitoring/prometheus-status",
serviceId ? { service_id: serviceId } : undefined,
);
export const fetchPrometheusTargets = () =>
get<PrometheusTarget[]>("/api/monitoring/prometheus-targets");