@kui-shell/plugin-tekton
Version:
Visualizations for Tekton Pipelines
106 lines (105 loc) • 2.54 kB
TypeScript
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 {};