import type { KubernetesObject } from "@kubernetes/client-node"; type KubernetesObjectWithStatus = KubernetesObject & { status?: unknown }; /** Returns an apply-safe copy without fields owned by the API server. */ export function sanitizeKubernetesObject( resource: T, ): T { const { status: _status, ...object } = resource as KubernetesObjectWithStatus; const { managedFields: _managedFields, resourceVersion: _resourceVersion, uid: _uid, creationTimestamp: _creationTimestamp, generation: _generation, selfLink: _selfLink, deletionTimestamp: _deletionTimestamp, deletionGracePeriodSeconds: _deletionGracePeriodSeconds, ...metadata } = object.metadata ?? {}; return { ...object, ...(object.metadata && { metadata }), } as T; }