Skip to content

Commit 33adf25

Browse files
authored
Contrib/testkube (#578)
1 parent e9321de commit 33adf25

20 files changed

+42629
-20
lines changed

executor.testkube.io/executor_v1.json

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
{
2+
"description": "Executor is the Schema for the executors API",
3+
"properties": {
4+
"apiVersion": {
5+
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
6+
"type": "string"
7+
},
8+
"kind": {
9+
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
10+
"type": "string"
11+
},
12+
"metadata": {
13+
"type": "object"
14+
},
15+
"spec": {
16+
"description": "ExecutorSpec defines the desired state of Executor",
17+
"properties": {
18+
"args": {
19+
"description": "executor binary arguments",
20+
"items": {
21+
"type": "string"
22+
},
23+
"type": "array"
24+
},
25+
"command": {
26+
"description": "executor default binary command",
27+
"items": {
28+
"type": "string"
29+
},
30+
"type": "array"
31+
},
32+
"content_types": {
33+
"description": "ContentTypes list of handled content types",
34+
"items": {
35+
"enum": [
36+
"string",
37+
"file-uri",
38+
"git-file",
39+
"git-dir",
40+
"git"
41+
],
42+
"type": "string"
43+
},
44+
"type": "array"
45+
},
46+
"executor_type": {
47+
"description": "ExecutorType one of \"rest\" for rest openapi based executors or \"job\" which will be default runners for testkube\nor \"container\" for container executors",
48+
"enum": [
49+
"job",
50+
"container"
51+
],
52+
"type": "string"
53+
},
54+
"features": {
55+
"description": "Features list of possible features which executor handles",
56+
"items": {
57+
"enum": [
58+
"artifacts",
59+
"junit-report"
60+
],
61+
"type": "string"
62+
},
63+
"type": "array"
64+
},
65+
"image": {
66+
"description": "Image for kube-job",
67+
"type": "string"
68+
},
69+
"imagePullSecrets": {
70+
"description": "container executor default image pull secrets",
71+
"items": {
72+
"description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace.",
73+
"properties": {
74+
"name": {
75+
"default": "",
76+
"description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
77+
"type": "string"
78+
}
79+
},
80+
"type": "object",
81+
"x-kubernetes-map-type": "atomic",
82+
"additionalProperties": false
83+
},
84+
"type": "array"
85+
},
86+
"job_template": {
87+
"description": "Job template to launch executor",
88+
"type": "string"
89+
},
90+
"jobTemplateReference": {
91+
"description": "name of the template resource",
92+
"type": "string"
93+
},
94+
"meta": {
95+
"description": "Meta data about executor",
96+
"properties": {
97+
"docsURI": {
98+
"description": "URI for executor docs",
99+
"type": "string"
100+
},
101+
"iconURI": {
102+
"description": "URI for executor icon",
103+
"type": "string"
104+
},
105+
"tooltips": {
106+
"additionalProperties": {
107+
"type": "string"
108+
},
109+
"description": "executor tooltips",
110+
"type": "object"
111+
}
112+
},
113+
"type": "object",
114+
"additionalProperties": false
115+
},
116+
"slaves": {
117+
"description": "Slaves data to run test in distributed environment",
118+
"properties": {
119+
"image": {
120+
"type": "string"
121+
}
122+
},
123+
"required": [
124+
"image"
125+
],
126+
"type": "object",
127+
"additionalProperties": false
128+
},
129+
"types": {
130+
"description": "Types defines what types can be handled by executor e.g. \"postman/collection\", \":curl/command\" etc",
131+
"items": {
132+
"type": "string"
133+
},
134+
"type": "array"
135+
},
136+
"uri": {
137+
"description": "URI for rest based executors",
138+
"type": "string"
139+
},
140+
"useDataDirAsWorkingDir": {
141+
"description": "use data dir as working dir for executor",
142+
"type": "boolean"
143+
}
144+
},
145+
"type": "object",
146+
"additionalProperties": false
147+
},
148+
"status": {
149+
"description": "ExecutorStatus defines the observed state of Executor",
150+
"type": "object"
151+
}
152+
},
153+
"type": "object"
154+
}

executor.testkube.io/webhook_v1.json

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
{
2+
"description": "Webhook is the Schema for the webhooks API",
3+
"properties": {
4+
"apiVersion": {
5+
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
6+
"type": "string"
7+
},
8+
"kind": {
9+
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
10+
"type": "string"
11+
},
12+
"metadata": {
13+
"type": "object"
14+
},
15+
"spec": {
16+
"description": "WebhookSpec defines the desired state of Webhook",
17+
"properties": {
18+
"config": {
19+
"additionalProperties": {
20+
"description": "webhook configuration value",
21+
"properties": {
22+
"secret": {
23+
"description": "private value stored in secret to use in webhook template",
24+
"properties": {
25+
"key": {
26+
"description": "object key",
27+
"type": "string"
28+
},
29+
"name": {
30+
"description": "object name",
31+
"type": "string"
32+
},
33+
"namespace": {
34+
"description": "object kubernetes namespace",
35+
"type": "string"
36+
}
37+
},
38+
"required": [
39+
"key",
40+
"name"
41+
],
42+
"type": "object",
43+
"additionalProperties": false
44+
},
45+
"value": {
46+
"description": "public value to use in webhook template",
47+
"type": "string"
48+
}
49+
},
50+
"type": "object",
51+
"additionalProperties": false
52+
},
53+
"description": "webhook configuration",
54+
"type": "object"
55+
},
56+
"disabled": {
57+
"description": "Disabled will disable the webhook",
58+
"type": "boolean"
59+
},
60+
"events": {
61+
"description": "Events declare list if events on which webhook should be called",
62+
"items": {
63+
"enum": [
64+
"start-test",
65+
"end-test-success",
66+
"end-test-failed",
67+
"end-test-aborted",
68+
"end-test-timeout",
69+
"become-test-up",
70+
"become-test-down",
71+
"become-test-failed",
72+
"become-test-aborted",
73+
"become-test-timeout",
74+
"start-testsuite",
75+
"end-testsuite-success",
76+
"end-testsuite-failed",
77+
"end-testsuite-aborted",
78+
"end-testsuite-timeout",
79+
"become-testsuite-up",
80+
"become-testsuite-down",
81+
"become-testsuite-failed",
82+
"become-testsuite-aborted",
83+
"become-testsuite-timeout",
84+
"start-testworkflow",
85+
"queue-testworkflow",
86+
"end-testworkflow-success",
87+
"end-testworkflow-failed",
88+
"end-testworkflow-aborted",
89+
"become-testworkflow-up",
90+
"become-testworkflow-down",
91+
"become-testworkflow-failed",
92+
"become-testworkflow-aborted"
93+
],
94+
"type": "string"
95+
},
96+
"type": "array"
97+
},
98+
"headers": {
99+
"additionalProperties": {
100+
"type": "string"
101+
},
102+
"description": "webhook headers (golang template supported)",
103+
"type": "object"
104+
},
105+
"onStateChange": {
106+
"description": "OnStateChange will trigger the webhook only when the result of the current execution differs from the previous result of the same test/test suite/workflow\nDeprecated: field is not used",
107+
"type": "boolean"
108+
},
109+
"parameters": {
110+
"description": "webhook parameters",
111+
"items": {
112+
"description": "webhook parameter schema",
113+
"properties": {
114+
"default": {
115+
"description": "default parameter value",
116+
"type": "string"
117+
},
118+
"description": {
119+
"description": "description for the parameter",
120+
"type": "string"
121+
},
122+
"example": {
123+
"description": "example value for the parameter",
124+
"type": "string"
125+
},
126+
"name": {
127+
"description": "unique parameter name",
128+
"type": "string"
129+
},
130+
"pattern": {
131+
"description": "regular expression to match",
132+
"type": "string"
133+
},
134+
"required": {
135+
"description": "whether parameter is required",
136+
"type": "boolean"
137+
}
138+
},
139+
"required": [
140+
"name"
141+
],
142+
"type": "object",
143+
"additionalProperties": false
144+
},
145+
"type": "array"
146+
},
147+
"payloadObjectField": {
148+
"description": "will load the generated payload for notification inside the object",
149+
"type": "string"
150+
},
151+
"payloadTemplate": {
152+
"description": "golang based template for notification payload",
153+
"type": "string"
154+
},
155+
"payloadTemplateReference": {
156+
"description": "name of the template resource",
157+
"type": "string"
158+
},
159+
"selector": {
160+
"description": "Labels to filter for tests and test suites",
161+
"type": "string"
162+
},
163+
"uri": {
164+
"description": "Uri is address where webhook should be made (golang template supported)",
165+
"type": "string"
166+
},
167+
"webhookTemplateRef": {
168+
"description": "webhook template reference",
169+
"properties": {
170+
"name": {
171+
"description": "webhook template name to include",
172+
"type": "string"
173+
}
174+
},
175+
"required": [
176+
"name"
177+
],
178+
"type": "object",
179+
"additionalProperties": false
180+
}
181+
},
182+
"type": "object",
183+
"additionalProperties": false
184+
},
185+
"status": {
186+
"description": "WebhookStatus defines the observed state of Webhook",
187+
"type": "object"
188+
}
189+
},
190+
"type": "object"
191+
}

0 commit comments

Comments
 (0)