@@ -4,99 +4,119 @@ import (
44 "github.com/harness/lite-engine/engine/spec"
55)
66
7- type SetupRequest struct {
8- Envs map [string ]string `json:"envs,omitempty"`
9- Network spec.Network `json:"network"`
10- Platform spec.Platform `json:"platform,omitempty"`
11- Volumes []* spec.Volume `json:"volumes,omitempty"`
12- Secrets []string `json:"secrets,omitempty"`
13- LogConfig LogConfig `json:"log_config,omitempty"`
14- TIConfig TIConfig `json:"ti_config,omitempty"`
15- }
16-
17- type SetupResponse struct {}
18-
19- type DestroyRequest struct {}
20-
21- type DestroyResponse struct {}
22-
23- type StartStepRequest struct {
24- ID string `json:"id,omitempty"` // Unique identifier of step
25- Detach bool `json:"detach,omitempty"`
26- Envs map [string ]string `json:"environment,omitempty"`
27- Name string `json:"name,omitempty"`
28- Secrets []string `json:"secrets,omitempty"`
29- WorkingDir string `json:"working_dir,omitempty"`
30- Kind StepType `json:"kind,omitempty"`
31- Run RunConfig `json:"run,omitempty"`
32- RunTest RunTestConfig `json:"run_test,omitempty"`
33-
34- LogKey string `json:"log_key,omitempty"`
35- OutputVars []string `json:"output_var,omitempty"`
36- Timeout int `json:"timeout,omitempty"` // step timeout in seconds
37-
38- // Valid only for steps running on docker container
39- Auth * spec.Auth `json:"auth,omitempty"`
40- CPUPeriod int64 `json:"cpu_period,omitempty"`
41- CPUQuota int64 `json:"cpu_quota,omitempty"`
42- CPUShares int64 `json:"cpu_shares,omitempty"`
43- CPUSet []string `json:"cpu_set,omitempty"`
44- Devices []* spec.VolumeDevice `json:"devices,omitempty"`
45- DNS []string `json:"dns,omitempty"`
46- DNSSearch []string `json:"dns_search,omitempty"`
47- ExtraHosts []string `json:"extra_hosts,omitempty"`
48- IgnoreStdout bool `json:"ignore_stderr,omitempty"`
49- IgnoreStderr bool `json:"ignore_stdout,omitempty"`
50- Image string `json:"image,omitempty"`
51- Labels map [string ]string `json:"labels,omitempty"`
52- MemSwapLimit int64 `json:"memswap_limit,omitempty"`
53- MemLimit int64 `json:"mem_limit,omitempty"`
54- Network string `json:"network,omitempty"`
55- Networks []string `json:"networks,omitempty"`
56- Privileged bool `json:"privileged,omitempty"`
57- Pull spec.PullPolicy `json:"pull,omitempty"`
58- ShmSize int64 `json:"shm_size,omitempty"`
59- User string `json:"user,omitempty"`
60- Volumes []* spec.VolumeMount `json:"volumes,omitempty"`
61- }
62-
63- type StartStepResponse struct {}
64-
65- type PollStepRequest struct {
66- ID string `json:"id,omitempty"`
67- }
68-
69- type PollStepResponse struct {
70- Exited bool `json:"exited,omitempty"`
71- ExitCode int `json:"exit_code,omitempty"`
72- OOMKilled bool `json:"oom_killed,omitempty"`
73- }
74-
75- type RunConfig struct {
76- Command []string `json:"commands,omitempty"`
77- Entrypoint []string `json:"entrypoint,omitempty"`
78- }
79-
80- type RunTestConfig struct {
81- Args string `json:"args,omitempty"`
82- Entrypoint []string `json:"entrypoint,omitempty"`
83- PreCommand string `json:"pre_command,omitempty"`
84- PostCommand string `json:"post_command,omitempty"`
85- BuildTool string `json:"build_tool,omitempty"`
86- Language string `json:"language,omitempty"`
87- Packages string `json:"packages,omitempty"`
88- RunOnlySelectedTests bool `json:"run_only_selected_tests,omitempty"`
89- TestAnnotations string `json:"test_annotations,omitempty"`
90- }
91-
92- type LogConfig struct {
93- AccountID string `json:"account_id,omitempty"`
94- IndirectUpload bool `json:"indirect_upload,omitempty"` // Whether to directly upload via signed link or using log service
95- URL string `json:"url,omitempty"`
96- Token string `json:"token,omitempty"`
97- }
98-
99- type TIConfig struct {
100- URL string `json:"url,omitempty"`
101- Token string `json:"token,omitempty"`
102- }
7+ type (
8+ SetupRequest struct {
9+ Envs map [string ]string `json:"envs,omitempty"`
10+ Network spec.Network `json:"network"`
11+ Platform spec.Platform `json:"platform,omitempty"`
12+ Volumes []* spec.Volume `json:"volumes,omitempty"`
13+ Secrets []string `json:"secrets,omitempty"`
14+ LogConfig LogConfig `json:"log_config,omitempty"`
15+ TIConfig TIConfig `json:"ti_config,omitempty"`
16+ }
17+
18+ SetupResponse struct {}
19+
20+ DestroyRequest struct {}
21+
22+ DestroyResponse struct {}
23+
24+ StartStepRequest struct {
25+ ID string `json:"id,omitempty"` // Unique identifier of step
26+ Detach bool `json:"detach,omitempty"`
27+ Envs map [string ]string `json:"environment,omitempty"`
28+ Name string `json:"name,omitempty"`
29+ LogKey string `json:"log_key,omitempty"`
30+ Secrets []string `json:"secrets,omitempty"`
31+ WorkingDir string `json:"working_dir,omitempty"`
32+ Kind StepType `json:"kind,omitempty"`
33+ Run RunConfig `json:"run,omitempty"`
34+ RunTest RunTestConfig `json:"run_test,omitempty"`
35+
36+ OutputVars []string `json:"output_var,omitempty"`
37+ TestReport TestReport `json:"test_report,omitempty"`
38+ Timeout int `json:"timeout,omitempty"` // step timeout in seconds
39+
40+ // Valid only for steps running on docker container
41+ Auth * spec.Auth `json:"auth,omitempty"`
42+ CPUPeriod int64 `json:"cpu_period,omitempty"`
43+ CPUQuota int64 `json:"cpu_quota,omitempty"`
44+ CPUShares int64 `json:"cpu_shares,omitempty"`
45+ CPUSet []string `json:"cpu_set,omitempty"`
46+ Devices []* spec.VolumeDevice `json:"devices,omitempty"`
47+ DNS []string `json:"dns,omitempty"`
48+ DNSSearch []string `json:"dns_search,omitempty"`
49+ ExtraHosts []string `json:"extra_hosts,omitempty"`
50+ IgnoreStdout bool `json:"ignore_stderr,omitempty"`
51+ IgnoreStderr bool `json:"ignore_stdout,omitempty"`
52+ Image string `json:"image,omitempty"`
53+ Labels map [string ]string `json:"labels,omitempty"`
54+ MemSwapLimit int64 `json:"memswap_limit,omitempty"`
55+ MemLimit int64 `json:"mem_limit,omitempty"`
56+ Network string `json:"network,omitempty"`
57+ Networks []string `json:"networks,omitempty"`
58+ Privileged bool `json:"privileged,omitempty"`
59+ Pull spec.PullPolicy `json:"pull,omitempty"`
60+ ShmSize int64 `json:"shm_size,omitempty"`
61+ User string `json:"user,omitempty"`
62+ Volumes []* spec.VolumeMount `json:"volumes,omitempty"`
63+ }
64+
65+ StartStepResponse struct {}
66+
67+ PollStepRequest struct {
68+ ID string `json:"id,omitempty"`
69+ }
70+
71+ PollStepResponse struct {
72+ Exited bool `json:"exited,omitempty"`
73+ ExitCode int `json:"exit_code,omitempty"`
74+ OOMKilled bool `json:"oom_killed,omitempty"`
75+ }
76+
77+ RunConfig struct {
78+ Command []string `json:"commands,omitempty"`
79+ Entrypoint []string `json:"entrypoint,omitempty"`
80+ }
81+
82+ RunTestConfig struct {
83+ Args string `json:"args,omitempty"`
84+ Entrypoint []string `json:"entrypoint,omitempty"`
85+ PreCommand string `json:"pre_command,omitempty"`
86+ PostCommand string `json:"post_command,omitempty"`
87+ BuildTool string `json:"build_tool,omitempty"`
88+ Language string `json:"language,omitempty"`
89+ Packages string `json:"packages,omitempty"`
90+ RunOnlySelectedTests bool `json:"run_only_selected_tests,omitempty"`
91+ TestAnnotations string `json:"test_annotations,omitempty"`
92+ }
93+
94+ LogConfig struct {
95+ AccountID string `json:"account_id,omitempty"`
96+ IndirectUpload bool `json:"indirect_upload,omitempty"` // Whether to directly upload via signed link or using log service
97+ URL string `json:"url,omitempty"`
98+ Token string `json:"token,omitempty"`
99+ }
100+
101+ TIConfig struct {
102+ URL string `json:"url,omitempty"`
103+ Token string `json:"token,omitempty"`
104+ AccountID string `json:"account_id,omitempty"`
105+ OrgID string `json:"org_id,omitempty"`
106+ ProjectID string `json:"project_id,omitempty"`
107+ PipelineID string `json:"pipeline_id,omitempty"`
108+ StageID string `json:"stage_id,omitempty"`
109+ BuildID string `json:"build_id,omitempty"`
110+ Repo string `json:"repo,omitempty"`
111+ Sha string `json:"sha,omitempty"`
112+ }
113+
114+ TestReport struct {
115+ Kind ReportType `json:"kind,omitempty"`
116+ Junit JunitReport `json:"junit,omitempty"`
117+ }
118+
119+ JunitReport struct {
120+ Paths []string `json:"paths,omitempty"`
121+ }
122+ )
0 commit comments