github.com/kubeshop/testkube@v1.17.23/pkg/crd/templates/testsuite.tmpl (about) 1 apiVersion: tests.testkube.io/v3 2 kind: TestSuite 3 metadata: 4 name: {{ .Name }} 5 namespace: {{ .Namespace }} 6 {{- if ne (len .Labels) 0 }} 7 labels: 8 {{- range $key, $value := .Labels }} 9 {{ $key }}: {{ $value }} 10 {{- end }} 11 {{- end }} 12 spec: 13 {{- if .Description }} 14 description: {{ .Description }} 15 {{- end }} 16 {{- if ne (len .Before) 0 }} 17 before: 18 {{- range .Before }} 19 - stopOnFailure: {{ .StopOnFailure }} 20 {{- if .DownloadArtifacts }} 21 downloadArtifacts: 22 allPreviousSteps: {{ .DownloadArtifacts.AllPreviousSteps }} 23 {{- if ne (len .DownloadArtifacts.PreviousStepNumbers) 0 }} 24 previousStepNumbers: 25 {{- range .DownloadArtifacts.PreviousStepNumbers }} 26 - {{ . }} 27 {{- end }} 28 {{- end }} 29 {{- if ne (len .DownloadArtifacts.PreviousTestNames) 0 }} 30 previousTestNames: 31 {{- range .DownloadArtifacts.PreviousTestNames }} 32 - {{ . }} 33 {{- end }} 34 {{- end }} 35 {{- end }} 36 {{- if ne (len .Execute) 0 }} 37 execute: 38 {{- range .Execute }} 39 {{- if .Test }} 40 - test: {{ .Test }} 41 {{- if .ExecutionRequest }} 42 {{- if or (ne (len .ExecutionRequest.ExecutionLabels) 0) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (.ExecutionRequest.RunningContext)}} 43 executionRequest: 44 {{- if ne (len .ExecutionRequest.ExecutionLabels) 0 }} 45 executionLabels: 46 {{- range $key, $value := .ExecutionRequest.ExecutionLabels }} 47 {{ $key }}: {{ $value }} 48 {{- end }} 49 {{- end }} 50 {{- if ne (len .ExecutionRequest.Variables) 0 }} 51 variables: 52 {{- range $key, $value := .ExecutionRequest.Variables }} 53 {{ $key }}: 54 name: {{ $key }} 55 {{- if $value.Value }} 56 value: {{ $value.Value }} 57 {{- end }} 58 {{- if $value.Type_ }} 59 type: {{ $value.Type_ }} 60 {{- end }} 61 {{- if $value.SecretRef }} 62 valueFrom: 63 secretKeyRef: 64 {{- if $value.SecretRef.Name }} 65 name: {{ $value.SecretRef.Name }} 66 {{- end }} 67 {{- if $value.SecretRef.Key }} 68 key: {{ $value.SecretRef.Key }} 69 {{- end }} 70 {{- end }} 71 {{- if $value.ConfigMapRef }} 72 valueFrom: 73 configMapKeyRef: 74 {{- if $value.ConfigMapRef.Name }} 75 name: {{ $value.ConfigMapRef.Name }} 76 {{- end }} 77 {{- if $value.ConfigMapRef.Key }} 78 key: {{ $value.ConfigMapRef.Key }} 79 {{- end }} 80 {{- end }} 81 {{- end }} 82 {{- end }} 83 {{- if ne (len .ExecutionRequest.Args) 0 }} 84 args: 85 {{- range .ExecutionRequest.Args }} 86 - {{ . }} 87 {{- end }} 88 {{- end }} 89 {{- if .ExecutionRequest.ArgsMode }} 90 argsMode: {{ .ExecutionRequest.ArgsMode }} 91 {{- end }} 92 {{- if gt (len .ExecutionRequest.Command) 0 }} 93 command: 94 {{- range $cmd := .ExecutionRequest.Command }} 95 - {{ $cmd -}} 96 {{- end }} 97 {{- end -}} 98 {{- if .ExecutionRequest.Sync }} 99 sync: {{ .ExecutionRequest.Sync }} 100 {{- end }} 101 {{- if .ExecutionRequest.HttpProxy }} 102 httpProxy: {{ .ExecutionRequest.HttpProxy }} 103 {{- end }} 104 {{- if .ExecutionRequest.HttpsProxy }} 105 httpsProxy: {{ .ExecutionRequest.HttpsProxy }} 106 {{- end }} 107 {{- if .ExecutionRequest.NegativeTest }} 108 negativeTest: {{ .ExecutionRequest.NegativeTest }} 109 {{- end }} 110 {{- if .ExecutionRequest.JobTemplate }} 111 jobTemplate: {{ .ExecutionRequest.JobTemplate }} 112 {{- end }} 113 {{- if .ExecutionRequest.JobTemplateReference }} 114 jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }} 115 {{- end }} 116 {{- if .ExecutionRequest.CronJobTemplate }} 117 cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }} 118 {{- end }} 119 {{- if .ExecutionRequest.CronJobTemplateReference }} 120 cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }} 121 {{- end }} 122 {{- if .ExecutionRequest.ScraperTemplate }} 123 scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }} 124 {{- end }} 125 {{- if .ExecutionRequest.ScraperTemplateReference }} 126 scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }} 127 {{- end }} 128 {{- if .ExecutionRequest.PvcTemplate }} 129 pvcTemplate: {{ .ExecutionRequest.PvcTemplate }} 130 {{- end }} 131 {{- if .ExecutionRequest.PvcTemplateReference }} 132 pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }} 133 {{- end }} 134 {{- if .ExecutionRequest.RunningContext }} 135 runningContext: {{ .ExecutionRequest.RunningContext }} 136 {{- end }} 137 {{- end }} 138 {{- end }} 139 {{- end }} 140 {{- if .Delay }} 141 - delay: {{ .Delay }} 142 {{- end }} 143 {{- end }} 144 {{- end }} 145 {{- end }} 146 {{- end }} 147 {{- if ne (len .Steps) 0 }} 148 steps: 149 {{- range .Steps }} 150 - stopOnFailure: {{ .StopOnFailure }} 151 {{- if .DownloadArtifacts }} 152 downloadArtifacts: 153 allPreviousSteps: {{ .DownloadArtifacts.AllPreviousSteps }} 154 {{- if ne (len .DownloadArtifacts.PreviousStepNumbers) 0 }} 155 previousStepNumbers: 156 {{- range .DownloadArtifacts.PreviousStepNumbers }} 157 - {{ . }} 158 {{- end }} 159 {{- end }} 160 {{- if ne (len .DownloadArtifacts.PreviousTestNames) 0 }} 161 previousTestNames: 162 {{- range .DownloadArtifacts.PreviousTestNames }} 163 - {{ . }} 164 {{- end }} 165 {{- end }} 166 {{- end }} 167 {{- if ne (len .Execute) 0 }} 168 execute: 169 {{- range .Execute }} 170 {{- if .Test }} 171 - test: {{ .Test }} 172 {{- if .ExecutionRequest }} 173 {{- if or (ne (len .ExecutionRequest.ExecutionLabels) 0) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (.ExecutionRequest.RunningContext)}} 174 executionRequest: 175 {{- if ne (len .ExecutionRequest.ExecutionLabels) 0 }} 176 executionLabels: 177 {{- range $key, $value := .ExecutionRequest.ExecutionLabels }} 178 {{ $key }}: {{ $value }} 179 {{- end }} 180 {{- end }} 181 {{- if ne (len .ExecutionRequest.Variables) 0 }} 182 variables: 183 {{- range $key, $value := .ExecutionRequest.Variables }} 184 {{ $key }}: 185 name: {{ $key }} 186 {{- if $value.Value }} 187 value: {{ $value.Value }} 188 {{- end }} 189 {{- if $value.Type_ }} 190 type: {{ $value.Type_ }} 191 {{- end }} 192 {{- if $value.SecretRef }} 193 valueFrom: 194 secretKeyRef: 195 {{- if $value.SecretRef.Name }} 196 name: {{ $value.SecretRef.Name }} 197 {{- end }} 198 {{- if $value.SecretRef.Key }} 199 key: {{ $value.SecretRef.Key }} 200 {{- end }} 201 {{- end }} 202 {{- if $value.ConfigMapRef }} 203 valueFrom: 204 configMapKeyRef: 205 {{- if $value.ConfigMapRef.Name }} 206 name: {{ $value.ConfigMapRef.Name }} 207 {{- end }} 208 {{- if $value.ConfigMapRef.Key }} 209 key: {{ $value.ConfigMapRef.Key }} 210 {{- end }} 211 {{- end }} 212 {{- end }} 213 {{- end }} 214 {{- if ne (len .ExecutionRequest.Args) 0 }} 215 args: 216 {{- range .ExecutionRequest.Args }} 217 - {{ . }} 218 {{- end }} 219 {{- end }} 220 {{- if .ExecutionRequest.ArgsMode }} 221 argsMode: {{ .ExecutionRequest.ArgsMode }} 222 {{- end }} 223 {{- if gt (len .ExecutionRequest.Command) 0 }} 224 command: 225 {{- range $cmd := .ExecutionRequest.Command }} 226 - {{ $cmd -}} 227 {{- end }} 228 {{- end -}} 229 {{- if .ExecutionRequest.Sync }} 230 sync: {{ .ExecutionRequest.Sync }} 231 {{- end }} 232 {{- if .ExecutionRequest.HttpProxy }} 233 httpProxy: {{ .ExecutionRequest.HttpProxy }} 234 {{- end }} 235 {{- if .ExecutionRequest.HttpsProxy }} 236 httpsProxy: {{ .ExecutionRequest.HttpsProxy }} 237 {{- end }} 238 {{- if .ExecutionRequest.NegativeTest }} 239 negativeTest: {{ .ExecutionRequest.NegativeTest }} 240 {{- end }} 241 {{- if .ExecutionRequest.JobTemplate }} 242 jobTemplate: {{ .ExecutionRequest.JobTemplate }} 243 {{- end }} 244 {{- if .ExecutionRequest.JobTemplateReference }} 245 jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }} 246 {{- end }} 247 {{- if .ExecutionRequest.CronJobTemplate }} 248 cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }} 249 {{- end }} 250 {{- if .ExecutionRequest.CronJobTemplateReference }} 251 cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }} 252 {{- end }} 253 {{- if .ExecutionRequest.ScraperTemplate }} 254 scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }} 255 {{- end }} 256 {{- if .ExecutionRequest.ScraperTemplateReference }} 257 scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }} 258 {{- end }} 259 {{- if .ExecutionRequest.PvcTemplate }} 260 pvcTemplate: {{ .ExecutionRequest.PvcTemplate }} 261 {{- end }} 262 {{- if .ExecutionRequest.PvcTemplateReference }} 263 pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }} 264 {{- end }} 265 {{- if .ExecutionRequest.RunningContext }} 266 runningContext: {{ .ExecutionRequest.RunningContext }} 267 {{- end }} 268 {{- end }} 269 {{- end }} 270 {{- end }} 271 {{- if .Delay }} 272 - delay: {{ .Delay }} 273 {{- end }} 274 {{- end }} 275 {{- end }} 276 {{- end }} 277 {{- end }} 278 {{- if ne (len .After) 0 }} 279 after: 280 {{- range .After }} 281 - stopOnFailure: {{ .StopOnFailure }} 282 {{- if .DownloadArtifacts }} 283 downloadArtifacts: 284 allPreviousSteps: {{ .DownloadArtifacts.AllPreviousSteps }} 285 {{- if ne (len .DownloadArtifacts.PreviousStepNumbers) 0 }} 286 previousStepNumbers: 287 {{- range .DownloadArtifacts.PreviousStepNumbers }} 288 - {{ . }} 289 {{- end }} 290 {{- end }} 291 {{- if ne (len .DownloadArtifacts.PreviousTestNames) 0 }} 292 previousTestNames: 293 {{- range .DownloadArtifacts.PreviousTestNames }} 294 - {{ . }} 295 {{- end }} 296 {{- end }} 297 {{- end }} 298 {{- if ne (len .Execute) 0 }} 299 execute: 300 {{- range .Execute }} 301 {{- if .Test }} 302 - test: {{ .Test }} 303 {{- if .ExecutionRequest }} 304 {{- if or (ne (len .ExecutionRequest.ExecutionLabels) 0) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (.ExecutionRequest.RunningContext)}} 305 executionRequest: 306 {{- if ne (len .ExecutionRequest.ExecutionLabels) 0 }} 307 executionLabels: 308 {{- range $key, $value := .ExecutionRequest.ExecutionLabels }} 309 {{ $key }}: {{ $value }} 310 {{- end }} 311 {{- end }} 312 {{- if ne (len .ExecutionRequest.Variables) 0 }} 313 variables: 314 {{- range $key, $value := .ExecutionRequest.Variables }} 315 {{ $key }}: 316 name: {{ $key }} 317 {{- if $value.Value }} 318 value: {{ $value.Value }} 319 {{- end }} 320 {{- if $value.Type_ }} 321 type: {{ $value.Type_ }} 322 {{- end }} 323 {{- if $value.SecretRef }} 324 valueFrom: 325 secretKeyRef: 326 {{- if $value.SecretRef.Name }} 327 name: {{ $value.SecretRef.Name }} 328 {{- end }} 329 {{- if $value.SecretRef.Key }} 330 key: {{ $value.SecretRef.Key }} 331 {{- end }} 332 {{- end }} 333 {{- if $value.ConfigMapRef }} 334 valueFrom: 335 configMapKeyRef: 336 {{- if $value.ConfigMapRef.Name }} 337 name: {{ $value.ConfigMapRef.Name }} 338 {{- end }} 339 {{- if $value.ConfigMapRef.Key }} 340 key: {{ $value.ConfigMapRef.Key }} 341 {{- end }} 342 {{- end }} 343 {{- end }} 344 {{- end }} 345 {{- if ne (len .ExecutionRequest.Args) 0 }} 346 args: 347 {{- range .ExecutionRequest.Args }} 348 - {{ . }} 349 {{- end }} 350 {{- end }} 351 {{- if .ExecutionRequest.ArgsMode }} 352 argsMode: {{ .ExecutionRequest.ArgsMode }} 353 {{- end }} 354 {{- if gt (len .ExecutionRequest.Command) 0 }} 355 command: 356 {{- range $cmd := .ExecutionRequest.Command }} 357 - {{ $cmd -}} 358 {{- end }} 359 {{- end -}} 360 {{- if .ExecutionRequest.Sync }} 361 sync: {{ .ExecutionRequest.Sync }} 362 {{- end }} 363 {{- if .ExecutionRequest.HttpProxy }} 364 httpProxy: {{ .ExecutionRequest.HttpProxy }} 365 {{- end }} 366 {{- if .ExecutionRequest.HttpsProxy }} 367 httpsProxy: {{ .ExecutionRequest.HttpsProxy }} 368 {{- end }} 369 {{- if .ExecutionRequest.NegativeTest }} 370 negativeTest: {{ .ExecutionRequest.NegativeTest }} 371 {{- end }} 372 {{- if .ExecutionRequest.JobTemplate }} 373 jobTemplate: {{ .ExecutionRequest.JobTemplate }} 374 {{- end }} 375 {{- if .ExecutionRequest.JobTemplateReference }} 376 jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }} 377 {{- end }} 378 {{- if .ExecutionRequest.CronJobTemplate }} 379 cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }} 380 {{- end }} 381 {{- if .ExecutionRequest.CronJobTemplateReference }} 382 cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }} 383 {{- end }} 384 {{- if .ExecutionRequest.ScraperTemplate }} 385 scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }} 386 {{- end }} 387 {{- if .ExecutionRequest.ScraperTemplateReference }} 388 scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }} 389 {{- end }} 390 {{- if .ExecutionRequest.PvcTemplate }} 391 pvcTemplate: {{ .ExecutionRequest.PvcTemplate }} 392 {{- end }} 393 {{- if .ExecutionRequest.PvcTemplateReference }} 394 pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }} 395 {{- end }} 396 {{- if .ExecutionRequest.RunningContext }} 397 runningContext: {{ .ExecutionRequest.RunningContext }} 398 {{- end }} 399 {{- end }} 400 {{- end }} 401 {{- end }} 402 {{- if .Delay }} 403 - delay: {{ .Delay }} 404 {{- end }} 405 {{- end }} 406 {{- end }} 407 {{- end }} 408 {{- end }} 409 {{- if .Schedule }} 410 schedule: {{ .Schedule }} 411 {{- end }} 412 {{- if .Repeats }} 413 repeats: {{ .Repeats }} 414 {{- end }} 415 {{- if .ExecutionRequest }} 416 {{- if or (.ExecutionRequest.Name) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (ne (len .ExecutionRequest.Variables) 0) (ne .ExecutionRequest.Timeout 0) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference)}} 417 executionRequest: 418 {{- if .ExecutionRequest.Name }} 419 name: {{ .ExecutionRequest.Name }} 420 {{- end }} 421 {{- if ne (len .ExecutionRequest.Variables) 0 }} 422 variables: 423 {{- range $key, $value := .ExecutionRequest.Variables }} 424 {{ $key }}: 425 name: {{ $key }} 426 {{- if $value.Value }} 427 value: {{ $value.Value }} 428 {{- end }} 429 {{- if $value.Type_ }} 430 type: {{ $value.Type_ }} 431 {{- end }} 432 {{- if $value.SecretRef }} 433 valueFrom: 434 secretKeyRef: 435 {{- if $value.SecretRef.Name }} 436 name: {{ $value.SecretRef.Name }} 437 {{- end }} 438 {{- if $value.SecretRef.Key }} 439 key: {{ $value.SecretRef.Key }} 440 {{- end }} 441 {{- end }} 442 {{- if $value.ConfigMapRef }} 443 valueFrom: 444 configMapKeyRef: 445 {{- if $value.ConfigMapRef.Name }} 446 name: {{ $value.ConfigMapRef.Name }} 447 {{- end }} 448 {{- if $value.ConfigMapRef.Key }} 449 key: {{ $value.ConfigMapRef.Key }} 450 {{- end }} 451 {{- end }} 452 {{- end }} 453 {{- end }} 454 {{- if .ExecutionRequest.HttpProxy }} 455 httpProxy: {{ .ExecutionRequest.HttpProxy }} 456 {{- end }} 457 {{- if .ExecutionRequest.HttpsProxy }} 458 httpsProxy: {{ .ExecutionRequest.HttpsProxy }} 459 {{- end}} 460 {{- if ne .ExecutionRequest.Timeout 0 }} 461 timeout: {{ .ExecutionRequest.Timeout }} 462 {{- end}} 463 {{- if .ExecutionRequest.JobTemplate }} 464 jobTemplate: {{ .ExecutionRequest.JobTemplate }} 465 {{- end}} 466 {{- if .ExecutionRequest.JobTemplateReference }} 467 jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }} 468 {{- end}} 469 {{- if .ExecutionRequest.CronJobTemplate }} 470 cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }} 471 {{- end}} 472 {{- if .ExecutionRequest.CronJobTemplateReference }} 473 cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }} 474 {{- end}} 475 {{- if .ExecutionRequest.ScraperTemplate }} 476 scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }} 477 {{- end }} 478 {{- if .ExecutionRequest.ScraperTemplateReference }} 479 scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }} 480 {{- end }} 481 {{- if .ExecutionRequest.PvcTemplate }} 482 pvcTemplate: {{ .ExecutionRequest.PvcTemplate }} 483 {{- end }} 484 {{- if .ExecutionRequest.PvcTemplateReference }} 485 pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }} 486 {{- end }} 487 {{- end }} 488 {{- end }} 489 {{- if .Status }} 490 status: 491 {{- if .Status.LatestExecution }} 492 latestExecution: 493 {{- if .Status.LatestExecution.Id }} 494 id: {{ .Status.LatestExecution.Id }} 495 {{- end }} 496 {{- if not .Status.LatestExecution.StartTime.IsZero }} 497 startTime: {{ .Status.LatestExecution.StartTime.Format "2006-01-02T15:04:05Z" }} 498 {{- end }} 499 {{- if not .Status.LatestExecution.EndTime.IsZero }} 500 endTime: {{ .Status.LatestExecution.EndTime.Format "2006-01-02T15:04:05Z" }} 501 {{- end }} 502 {{- if .Status.LatestExecution.Status }} 503 status: {{ .Status.LatestExecution.Status }} 504 {{- end }} 505 {{- end }} 506 {{- end }}