fix: expose argo closeout reasons
This commit is contained in:
@@ -315,7 +315,12 @@ function compactStatusGates(payload: Record<string, unknown> | null): Record<str
|
||||
argo: argo === null ? null : {
|
||||
syncStatus: stringOrNull(argo.syncStatus),
|
||||
healthStatus: stringOrNull(argo.healthStatus),
|
||||
healthMessage: stringOrNull(argo.healthMessage),
|
||||
revision: stringOrNull(argo.revision),
|
||||
operationPhase: stringOrNull(argo.operationPhase),
|
||||
operationMessage: stringOrNull(argo.operationMessage),
|
||||
conditions: Array.isArray(argo.conditions) ? argo.conditions.slice(0, 5) : [],
|
||||
nonReadyResources: Array.isArray(argo.nonReadyResources) ? argo.nonReadyResources.slice(0, 5) : [],
|
||||
ready: argo.ready === true,
|
||||
},
|
||||
runtime: runtime === null ? null : {
|
||||
|
||||
@@ -47,7 +47,7 @@ function nativeGateRows(native: Record<string, unknown> | null): unknown[][] {
|
||||
}
|
||||
const argo = asOptionalRecord(native.argo);
|
||||
if (argo !== null) {
|
||||
rows.push(["argo", `${stringOrNull(argo.syncStatus) ?? "unknown"}/${stringOrNull(argo.healthStatus) ?? "unknown"}`, shortSha(stringOrNull(argo.revision)), stringOrNull(argo.name) ?? "-"]);
|
||||
rows.push(["argo", `${stringOrNull(argo.syncStatus) ?? "unknown"}/${stringOrNull(argo.healthStatus) ?? "unknown"}`, argoDetail(argo), stringOrNull(argo.name) ?? "-"]);
|
||||
}
|
||||
const runtime = asOptionalRecord(native.runtime);
|
||||
if (runtime !== null) {
|
||||
@@ -58,6 +58,16 @@ function nativeGateRows(native: Record<string, unknown> | null): unknown[][] {
|
||||
return rows;
|
||||
}
|
||||
|
||||
function argoDetail(argo: Record<string, unknown>): string {
|
||||
const resource = arrayRecords(argo.nonReadyResources)[0];
|
||||
const condition = arrayRecords(argo.conditions)[0];
|
||||
return stringOrNull(argo.healthMessage)
|
||||
?? stringOrNull(argo.operationMessage)
|
||||
?? (resource === undefined ? null : `${resource.kind ?? "resource"}/${resource.name ?? "-"} ${asOptionalRecord(resource.health)?.status ?? resource.healthStatus ?? "-"}`)
|
||||
?? (condition === undefined ? null : `${condition.type ?? "condition"} ${condition.message ?? ""}`.trim())
|
||||
?? shortSha(stringOrNull(argo.revision));
|
||||
}
|
||||
|
||||
function asOptionalRecord(value: unknown): Record<string, unknown> | null {
|
||||
return typeof value === "object" && value !== null && !Array.isArray(value) ? value as Record<string, unknown> : null;
|
||||
}
|
||||
|
||||
@@ -1722,12 +1722,18 @@ function nativeArgoSummary(application: Record<string, unknown> | null): Record<
|
||||
const status = asOptionalRecord(application.status);
|
||||
const sync = asOptionalRecord(status?.sync);
|
||||
const health = asOptionalRecord(status?.health);
|
||||
const operationState = asOptionalRecord(status?.operationState);
|
||||
return {
|
||||
name: stringOrNull(metadata?.name),
|
||||
namespace: stringOrNull(metadata?.namespace),
|
||||
syncStatus: stringOrNull(sync?.status),
|
||||
healthStatus: stringOrNull(health?.status),
|
||||
healthMessage: stringOrNull(health?.message),
|
||||
revision: stringOrNull(sync?.revision),
|
||||
operationPhase: stringOrNull(operationState?.phase),
|
||||
operationMessage: stringOrNull(operationState?.message),
|
||||
conditions: Array.isArray(status?.conditions) ? status.conditions.slice(0, 5) : [],
|
||||
nonReadyResources: Array.isArray(status?.nonReadyResources) ? status.nonReadyResources.slice(0, 5) : [],
|
||||
ready: argoApplicationReady(application),
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user