UNPKG

@kinvolk/headlamp-plugin

Version:

The needed infrastructure for building Headlamp plugins.

37 lines (36 loc) 1.48 kB
import { KubeObject } from '../../../lib/k8s/KubeObject'; import type { RevisionInfo, RollbackResult } from '../../../lib/k8s/rollback'; import { ButtonStyle } from '../ActionButton'; /** * Interface for resources that support rollback. */ export interface RollbackableResource extends KubeObject { rollback: (toRevision?: number) => Promise<RollbackResult>; getRevisionHistory: () => Promise<RevisionInfo[]>; } /** * Type guard to check if a KubeObject is a resource that supports rollback. * Currently supports Deployment, DaemonSet, and StatefulSet. */ export declare function isRollbackableResource(item: KubeObject): item is RollbackableResource; export interface RollbackButtonProps { /** The Kubernetes resource to rollback */ item: KubeObject; /** Optional button style override */ buttonStyle?: ButtonStyle; /** Optional callback after user confirms the rollback */ afterConfirm?: () => void; } /** * RollbackButton component for rolling back Workloads to a selected revision. * * This component provides a button that, when clicked, shows a revision selection * dialog where the user can pick a specific revision to rollback to. * * Supported Resources: * - Deployment (via ReplicaSets) * - DaemonSet (via ControllerRevisions) * - StatefulSet (via ControllerRevisions) */ export declare function RollbackButton(props: RollbackButtonProps): import("react/jsx-runtime").JSX.Element | null; export default RollbackButton;