github.com/kubeshop/testkube@v1.17.23/pkg/crd/templates/test.tmpl (about) 1 apiVersion: tests.testkube.io/v3 2 kind: Test 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 .Type_ }} 17 type: {{ .Type_ }} 18 {{- end }} 19 {{- if .Content }} 20 {{- if or (.Content.Type_ ) (.Content.Repository) (.Content.Data) (.Content.Uri) }} 21 content: 22 {{- if .Content.Type_ }} 23 type: {{ .Content.Type_ }} 24 {{- end }} 25 {{- if .Content.Repository }} 26 repository: 27 {{- if .Content.Repository.Type_ }} 28 type: {{ .Content.Repository.Type_ }} 29 {{- end }} 30 {{- if .Content.Repository.Uri }} 31 uri: {{ .Content.Repository.Uri }} 32 {{- end }} 33 {{- if .Content.Repository.Branch }} 34 branch: {{ .Content.Repository.Branch }} 35 {{- end }} 36 {{- if .Content.Repository.Commit }} 37 commit: {{ .Content.Repository.Commit }} 38 {{- end }} 39 {{- if .Content.Repository.Path }} 40 path: {{ .Content.Repository.Path }} 41 {{- end }} 42 {{- if .Content.Repository.UsernameSecret }} 43 usernameSecret: 44 {{- if .Content.Repository.UsernameSecret.Name }} 45 name: {{ .Content.Repository.UsernameSecret.Name }} 46 {{- end }} 47 {{- if .Content.Repository.UsernameSecret.Key }} 48 key: {{ .Content.Repository.UsernameSecret.Key }} 49 {{- end }} 50 {{- end }} 51 {{- if .Content.Repository.TokenSecret }} 52 tokenSecret: 53 {{- if .Content.Repository.TokenSecret.Name }} 54 name: {{ .Content.Repository.TokenSecret.Name }} 55 {{- end }} 56 {{- if .Content.Repository.TokenSecret.Key }} 57 key: {{ .Content.Repository.TokenSecret.Key }} 58 {{- end }} 59 {{- end }} 60 {{- if .Content.Repository.CertificateSecret }} 61 certificateSecret: {{ .Content.Repository.CertificateSecret }} 62 {{- end }} 63 {{- if .Content.Repository.WorkingDir }} 64 workingDir: {{ .Content.Repository.WorkingDir }} 65 {{- end }} 66 {{- if .Content.Repository.AuthType }} 67 authType: {{ .Content.Repository.AuthType }} 68 {{- end }} 69 {{- end }} 70 {{- if .Content.Data }} 71 data: {{ .Content.Data }} 72 {{- end }} 73 {{- if .Content.Uri }} 74 uri: {{ .Content.Uri }} 75 {{- end }} 76 {{- end }} 77 {{- end }} 78 {{- if .Source }} 79 source: {{ .Source }} 80 {{- end }} 81 {{- if .Schedule }} 82 schedule: {{ .Schedule }} 83 {{- end }} 84 {{- if .ExecutionRequest }} 85 {{- if or (.ExecutionRequest.Name) (.ExecutionRequest.NegativeTest) (.ExecutionRequest.VariablesFile) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (ne (len .ExecutionRequest.Envs) 0) (ne (len .ExecutionRequest.SecretEnvs) 0) (.ExecutionRequest.Image) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.ImagePullSecrets) 0) (ne .ExecutionRequest.ActiveDeadlineSeconds 0) (.ExecutionRequest.ArtifactRequest) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.PreRunScript) (.ExecutionRequest.PostRunScript) (.ExecutionRequest.ExecutePostRunScriptBeforeScraping) (.ExecutionRequest.SourceScripts) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (ne (len .ExecutionRequest.EnvConfigMaps) 0) (ne (len .ExecutionRequest.EnvSecrets) 0) (.ExecutionRequest.SlavePodRequest) (.ExecutionRequest.ExecutionNamespace)}} 86 executionRequest: 87 {{- if .ExecutionRequest.Name }} 88 name: {{ .ExecutionRequest.Name }} 89 {{- end }} 90 {{- if .ExecutionRequest.VariablesFile }} 91 variablesFile: {{ .ExecutionRequest.VariablesFile }} 92 {{- end }} 93 {{- if .ExecutionRequest.IsVariablesFileUploaded }} 94 isVariablesFileUploaded: {{ .ExecutionRequest.IsVariablesFileUploaded }} 95 {{- end }} 96 {{- if ne (len .ExecutionRequest.Variables) 0 }} 97 variables: 98 {{- range $key, $value := .ExecutionRequest.Variables }} 99 {{ $key }}: 100 name: {{ $key }} 101 {{- if $value.Value }} 102 value: {{ $value.Value }} 103 {{- end }} 104 {{- if $value.Type_ }} 105 type: {{ $value.Type_ }} 106 {{- end }} 107 {{- if $value.SecretRef }} 108 valueFrom: 109 secretKeyRef: 110 {{- if $value.SecretRef.Name }} 111 name: {{ $value.SecretRef.Name }} 112 {{- end }} 113 {{- if $value.SecretRef.Key }} 114 key: {{ $value.SecretRef.Key }} 115 {{- end }} 116 {{- end }} 117 {{- if $value.ConfigMapRef }} 118 valueFrom: 119 configMapKeyRef: 120 {{- if $value.ConfigMapRef.Name }} 121 name: {{ $value.ConfigMapRef.Name }} 122 {{- end }} 123 {{- if $value.ConfigMapRef.Key }} 124 key: {{ $value.ConfigMapRef.Key }} 125 {{- end }} 126 {{- end }} 127 {{- end }} 128 {{- end }} 129 {{- if ne (len .ExecutionRequest.Args) 0 }} 130 args: 131 {{- range .ExecutionRequest.Args }} 132 - {{ . }} 133 {{- end }} 134 {{- end }} 135 {{- if .ExecutionRequest.ArgsMode }} 136 argsMode: {{ .ExecutionRequest.ArgsMode }} 137 {{- end }} 138 {{- if ne (len .ExecutionRequest.Envs) 0 }} 139 envs: 140 {{- range $key, $value := .ExecutionRequest.Envs }} 141 {{ $key }}: {{ $value }} 142 {{- end }} 143 {{- end }} 144 {{- if ne (len .ExecutionRequest.SecretEnvs) 0 }} 145 secretEnvs: 146 {{- range $key, $value := .ExecutionRequest.SecretEnvs }} 147 {{ $key }}: {{ $value }} 148 {{- end }} 149 {{- end }} 150 {{- if .ExecutionRequest.HttpProxy }} 151 httpProxy: {{ .ExecutionRequest.HttpProxy }} 152 {{- end }} 153 {{- if .ExecutionRequest.HttpsProxy }} 154 httpsProxy: {{ .ExecutionRequest.HttpsProxy }} 155 {{- end }} 156 {{- if .ExecutionRequest.Image }} 157 image: {{ .ExecutionRequest.Image }} 158 {{- end }} 159 {{- if gt (len .ExecutionRequest.Command) 0 }} 160 command: 161 {{- range $cmd := .ExecutionRequest.Command }} 162 - {{ $cmd -}} 163 {{- end }} 164 {{- end -}} 165 {{- if gt (len .ExecutionRequest.ImagePullSecrets) 0 }} 166 imagePullSecrets: 167 {{- range $secret := .ExecutionRequest.ImagePullSecrets }} 168 - name: {{ $secret.Name -}} 169 {{- end }} 170 {{- end }} 171 {{- if .ExecutionRequest.NegativeTest }} 172 negativeTest: {{ .ExecutionRequest.NegativeTest }} 173 {{- end }} 174 {{- if gt .ExecutionRequest.ActiveDeadlineSeconds 0}} 175 activeDeadlineSeconds: {{ .ExecutionRequest.ActiveDeadlineSeconds }} 176 {{- end }} 177 {{- if .ExecutionRequest.ArtifactRequest }} 178 artifactRequest: 179 {{- if .ExecutionRequest.ArtifactRequest.StorageClassName }} 180 storageClassName: {{ .ExecutionRequest.ArtifactRequest.StorageClassName }} 181 {{- end }} 182 {{- if .ExecutionRequest.ArtifactRequest.VolumeMountPath }} 183 volumeMountPath: {{ .ExecutionRequest.ArtifactRequest.VolumeMountPath }} 184 {{- end }} 185 {{- if gt (len .ExecutionRequest.ArtifactRequest.Dirs) 0 }} 186 dirs: 187 {{- range .ExecutionRequest.ArtifactRequest.Dirs }} 188 - {{ . }} 189 {{- end }} 190 {{- end }} 191 {{- if gt (len .ExecutionRequest.ArtifactRequest.Masks) 0 }} 192 masks: 193 {{- range .ExecutionRequest.ArtifactRequest.Masks }} 194 - {{ . }} 195 {{- end }} 196 {{- end }} 197 {{- if .ExecutionRequest.ArtifactRequest.StorageBucket }} 198 storageBucket: {{ .ExecutionRequest.ArtifactRequest.StorageBucket }} 199 {{- end }} 200 {{- if .ExecutionRequest.ArtifactRequest.OmitFolderPerExecution }} 201 omitFolderPerExecution: {{ .ExecutionRequest.ArtifactRequest.OmitFolderPerExecution }} 202 {{- end }} 203 {{- if .ExecutionRequest.ArtifactRequest.SharedBetweenPods }} 204 sharedBetweenPods: {{ .ExecutionRequest.ArtifactRequest.SharedBetweenPods }} 205 {{- end }} 206 {{- if .ExecutionRequest.ArtifactRequest.UseDefaultStorageClassName }} 207 useDefaultStorageClassName: {{ .ExecutionRequest.ArtifactRequest.UseDefaultStorageClassName }} 208 {{- end }} 209 {{- end }} 210 {{- if .ExecutionRequest.JobTemplate }} 211 jobTemplate: {{ .ExecutionRequest.JobTemplate }} 212 {{- end }} 213 {{- if .ExecutionRequest.JobTemplateReference }} 214 jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }} 215 {{- end }} 216 {{- if .ExecutionRequest.CronJobTemplate }} 217 cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }} 218 {{- end }} 219 {{- if .ExecutionRequest.CronJobTemplateReference }} 220 cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }} 221 {{- end }} 222 {{- if .ExecutionRequest.PreRunScript }} 223 preRunScript: {{ .ExecutionRequest.PreRunScript }} 224 {{- end }} 225 {{- if .ExecutionRequest.PostRunScript }} 226 postRunScript: {{ .ExecutionRequest.PostRunScript }} 227 {{- end }} 228 {{- if .ExecutionRequest.ExecutePostRunScriptBeforeScraping }} 229 executePostRunScriptBeforeScraping: {{ .ExecutionRequest.ExecutePostRunScriptBeforeScraping }} 230 {{- end }} 231 {{- if .ExecutionRequest.SourceScripts }} 232 sourceScripts: {{ .ExecutionRequest.SourceScripts }} 233 {{- end }} 234 {{- if .ExecutionRequest.ScraperTemplate }} 235 scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }} 236 {{- end }} 237 {{- if .ExecutionRequest.ScraperTemplateReference }} 238 scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }} 239 {{- end }} 240 {{- if .ExecutionRequest.PvcTemplate }} 241 pvcTemplate: {{ .ExecutionRequest.PvcTemplate }} 242 {{- end }} 243 {{- if .ExecutionRequest.PvcTemplateReference }} 244 pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }} 245 {{- end }} 246 {{- if .ExecutionRequest.ExecutionNamespace }} 247 executionNamespace: {{ .ExecutionRequest.ExecutionNamespace }} 248 {{- end }} 249 {{- if .ExecutionRequest.SlavePodRequest }} 250 slavePodRequest: 251 {{- if .ExecutionRequest.SlavePodRequest.Resources }} 252 resources: 253 {{- if .ExecutionRequest.SlavePodRequest.Resources.Requests }} 254 requests: 255 {{- if .ExecutionRequest.SlavePodRequest.Resources.Requests.Cpu }} 256 cpu: {{ .ExecutionRequest.SlavePodRequest.Resources.Requests.Cpu }} 257 {{- end }} 258 {{- if .ExecutionRequest.SlavePodRequest.Resources.Requests.Memory }} 259 memory: {{ .ExecutionRequest.SlavePodRequest.Resources.Requests.Memory }} 260 {{- end }} 261 {{- end }} 262 {{- if .ExecutionRequest.SlavePodRequest.Resources.Limits }} 263 limits: 264 {{- if .ExecutionRequest.SlavePodRequest.Resources.Limits.Cpu }} 265 cpu: {{ .ExecutionRequest.SlavePodRequest.Resources.Limits.Cpu }} 266 {{- end }} 267 {{- if .ExecutionRequest.SlavePodRequest.Resources.Limits.Memory }} 268 memory: {{ .ExecutionRequest.SlavePodRequest.Resources.Limits.Memory }} 269 {{- end }} 270 {{- end }} 271 {{- end }} 272 {{- if .ExecutionRequest.SlavePodRequest.PodTemplate }} 273 podTemplate: {{ .ExecutionRequest.SlavePodRequest.PodTemplate }} 274 {{- end }} 275 {{- if .ExecutionRequest.SlavePodRequest.PodTemplateReference }} 276 podTemplateReference: {{ .ExecutionRequest.SlavePodRequest.PodTemplateReference }} 277 {{- end }} 278 {{- end }} 279 {{- if ne (len .ExecutionRequest.EnvConfigMaps) 0 }} 280 envConfigMaps: 281 {{- range $configMap := .ExecutionRequest.EnvConfigMaps }} 282 - mount: {{ $configMap.Mount }} 283 {{- if $configMap.MountPath }} 284 mountPath: {{ $configMap.MountPath }} 285 {{- end }} 286 mapToVariables: {{ $configMap.MapToVariables }} 287 {{- if $configMap.Reference }} 288 reference: 289 name: {{ $configMap.Reference.Name }} 290 {{- end }} 291 {{- end }} 292 {{- end }} 293 {{- if ne (len .ExecutionRequest.EnvSecrets) 0 }} 294 envSecrets: 295 {{- range $secret := .ExecutionRequest.EnvSecrets }} 296 - mount: {{ $secret.Mount }} 297 {{- if $secret.MountPath }} 298 mountPath: {{ $secret.MountPath }} 299 {{- end }} 300 mapToVariables: {{ $secret.MapToVariables }} 301 {{- if $secret.Reference }} 302 reference: 303 name: {{ $secret.Reference.Name }} 304 {{- end }} 305 {{- end }} 306 {{- end }} 307 {{- end }} 308 {{- end }} 309 {{- if gt (len .Uploads) 0 }} 310 uploads: 311 {{- range .Uploads }} 312 - {{ . }} 313 {{- end }} 314 {{- end }} 315 {{- if .Status }} 316 status: 317 {{- if .Status.LatestExecution }} 318 latestExecution: 319 {{- if .Status.LatestExecution.Id }} 320 id: {{ .Status.LatestExecution.Id }} 321 {{- end }} 322 {{- if .Status.LatestExecution.Number }} 323 number: {{ .Status.LatestExecution.Number }} 324 {{- end }} 325 {{- if not .Status.LatestExecution.StartTime.IsZero }} 326 startTime: {{ .Status.LatestExecution.StartTime.Format "2006-01-02T15:04:05Z" }} 327 {{- end }} 328 {{- if not .Status.LatestExecution.EndTime.IsZero }} 329 endTime: {{ .Status.LatestExecution.EndTime.Format "2006-01-02T15:04:05Z" }} 330 {{- end }} 331 {{- if .Status.LatestExecution.Status }} 332 status: {{ .Status.LatestExecution.Status }} 333 {{- end }} 334 {{- end }} 335 {{- end }}