/
types.ts
92 lines (81 loc) · 2.04 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
export type Variable = {
id: string;
displayName: string;
value: string;
};
export type KurtosisPort = {
portName: string;
port: number;
transportProtocol: "TCP" | "UDP";
applicationProtocol: string;
};
export type KurtosisEnvironmentVar = { key: string; value: string };
export type KurtosisFileMount = {
mountPoint: string;
artifactName: string;
};
export type KurtosisAcceptableCode = {
value: number;
};
export type KurtosisImageType = "image" | "dockerfile" | "nix";
export type KurtosisImageConfig = {
image: string;
type: KurtosisImageType;
registryUsername: string;
registryPassword: string;
registry: string;
buildContextDir: string;
targetStage: string;
flakeLocationDir: string;
flakeOutput: string;
};
export type KurtosisServiceNodeData = {
type: "service";
serviceName: string;
image: KurtosisImageConfig;
env: KurtosisEnvironmentVar[];
ports: KurtosisPort[];
files: KurtosisFileMount[];
execStepEnabled: "true" | "false";
execStepCommand: string;
execStepAcceptableCodes: KurtosisAcceptableCode[];
isValid: boolean;
};
export type KurtosisArtifactNodeData = {
type: "artifact";
artifactName: string;
files: Record<string, string>;
isValid: boolean;
};
export type KurtosisShellNodeData = {
type: "shell";
shellName: string;
command: string;
image: KurtosisImageConfig;
env: KurtosisEnvironmentVar[];
files: KurtosisFileMount[];
store: string;
wait_enabled: "true" | "false";
wait: string;
isValid: boolean;
};
export type KurtosisPythonPackage = { packageName: string };
export type KurtosisPythonArg = { arg: string };
export type KurtosisPythonNodeData = {
type: "python";
pythonName: string;
command: string;
image: KurtosisImageConfig;
packages: KurtosisPythonPackage[];
args: KurtosisPythonArg[];
files: KurtosisFileMount[];
store: string;
wait_enabled: "true" | "false";
wait: string;
isValid: boolean;
};
export type KurtosisNodeData =
| KurtosisArtifactNodeData
| KurtosisServiceNodeData
| KurtosisShellNodeData
| KurtosisPythonNodeData;