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 }}