UNPKG

@kui-shell/plugin-tekton

Version:
106 lines (105 loc) 2.54 kB
import { KubeResource, KubeStatusCondition, KubeStatus } from '@kui-shell/plugin-kubeui'; export declare type TaskName = string; interface TektonKubeResource extends KubeResource { } export interface TaskRun extends KubeResource { pipelineTaskName: string; status: KubeStatus & { podName: string; startTime: string; completionTime?: string; conditions: KubeStatusCondition[]; steps: { name: string; terminated?: { containerID: string; exitCode: number; startedAt: string; finishedAt: string; reason: string; }; }[]; }; } export interface TaskRuns { [key: string]: TaskRun; } export interface Port { name: string; resource: string; from?: TaskName[]; } export interface TaskRef { name: TaskName; taskRef?: { name: TaskName; }; runAfter?: TaskName[]; resources?: { inputs?: Port[]; outputs?: Port[]; }; } export interface Step { name: string; image: string; command: string; args: string[]; visitedIdx?: number; } interface Resource { name: string; type: string; targetPath?: string; } export interface Task extends TektonKubeResource { kind: 'Task'; visitedIdx?: number; spec: { inputs: { resources: Resource[]; params: { name: string; description: string; default: string; }[]; }; steps: Step[]; }; } export declare function isTask(resource: KubeResource): resource is Task; export interface Pipeline extends TektonKubeResource { kind: 'Pipeline'; spec: { resources?: Resource[]; tasks: TaskRef[]; }; } export declare function isPipeline(resource: KubeResource): resource is Pipeline; export interface PipelineRun extends TektonKubeResource { kind: 'PipelineRun'; spec: { serviceAccount: string; params: { name: string; value: string; }[]; resources: { name: string; resourceRef: { name: string; }; }[]; pipelineRef: { name: string; }; trigger: { type: 'manual'; }; }; status: KubeStatus & { taskRuns: TaskRuns; }; } export declare function isPipelineRun(resource: KubeResource): resource is PipelineRun; export {};