You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
INFRA:45230: Cronjob fixes for alerting and additional support for backoffLimit (#377)
* INFRA-45230: Support cronjob/job backoffLimit and reduce cronjob/job ttlSecondsAfterFinished setting so alert fires
* Fixes for backoffLimit: 0
* Bump chart version
---------
Co-authored-by: Nick <nbadger@mintel.com>
Copy file name to clipboardExpand all lines: charts/standard-application-stack/CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
9
+
## [v11.1.0] - 2026-01-26
10
+
### Changed
11
+
- Update the default value of `ttlSecondsAfterFinished` to 5 minutes. This *must* be greater then the related `KubeJobFailed` alert check.
12
+
- Added support for custom `backoffLimit` configuration in CronJobs and Jobs. The Kubernetes default (6) is used if not specified. Can be configured via `cronjobs.defaults.backoffLimit`, `cronjobs.jobs[].backoffLimit`, `jobDefaults.backoffLimit`, or per-job in `jobs[].backoffLimit`.
13
+
8
14
## [v11.0.2] - 2026-01-06
9
15
### Changed
10
16
- Updated helm and helm-docs versions so the unittest plugin would work again.
A generic chart to support most common application requirements
6
6
@@ -65,14 +65,15 @@ A generic chart to support most common application requirements
65
65
| celeryBeat.resources.requests | object |`{}`| The requested resources for the container |
66
66
| command | list |`["/app/docker-entrypoint.sh"]`| Optional command to the container |
67
67
| configMaps | list |`[]`| A list of configuration maps for this application |
68
-
| cronjobs | object |`{"defaults":{"concurrencyPolicy":"Forbid","enableDoNotDisrupt":true,"restartPolicy":"Never","suspend":false,"timezone":null,"ttlSecondsAfterFinished":60},"jobs":[]}`| Define and Configure CronJob's Defaults to same image as main deployment but with defined arguments |
69
-
| cronjobs.defaults | object |`{"concurrencyPolicy":"Forbid","enableDoNotDisrupt":true,"restartPolicy":"Never","suspend":false,"timezone":null,"ttlSecondsAfterFinished":60}`| Defaults for all CronJob's |
68
+
| cronjobs | object |`{"defaults":{"backoffLimit":null,"concurrencyPolicy":"Forbid","enableDoNotDisrupt":true,"restartPolicy":"Never","suspend":false,"timezone":null,"ttlSecondsAfterFinished":600},"jobs":[]}`| Define and Configure CronJob's Defaults to same image as main deployment but with defined arguments |
69
+
| cronjobs.defaults | object |`{"backoffLimit":null,"concurrencyPolicy":"Forbid","enableDoNotDisrupt":true,"restartPolicy":"Never","suspend":false,"timezone":null,"ttlSecondsAfterFinished":600}`| Defaults for all CronJob's |
70
+
| cronjobs.defaults.backoffLimit | string |`nil`| Specifies the number of retries before marking a job as failed. ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/job-v1/#JobSpec Only set if you want to override the Kubernetes default (6). If not set, Kubernetes default applies. |
70
71
| cronjobs.defaults.concurrencyPolicy | string |`"Forbid"`| Tells controller how to handle concurrent executions of a CronJob ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/cron-job-v1/#CronJobSpec|
71
72
| cronjobs.defaults.enableDoNotDisrupt | bool |`true`| Whether to set the `karpenter.sh/do-not-disrupt`annotation on the CronJob |
| cronjobs.defaults.timezone | string |`nil`| CronJob schedule will run relative to this timezone. ref: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones|
75
-
| cronjobs.defaults.ttlSecondsAfterFinished | int |`60`| If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#cronjob-v1beta1-batch|
76
+
| cronjobs.defaults.ttlSecondsAfterFinished | int |`600`| If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#cronjob-v1beta1-batch This needs to be greater than the associated KubeJobFailed 'for' value|
76
77
| cronjobs.jobs | list |`[]`| List of Cronjob configurations to be defined |
77
78
| cronjobsOnly | bool |`false`| Only show Cronjobs and relevant resources (i.e. if set to `true`, hide the main deployment resource) |
78
79
| dynamodb.enabled | bool |`false`||
@@ -166,6 +167,7 @@ A generic chart to support most common application requirements
166
167
| jobDefaults.argo.hookDeletePolicy | string |`nil`| When to delete the job resources in an automated fashion ref: https://argo-cd.readthedocs.io/en/stable/user-guide/resource_hooks/#hook-deletion-policies.|
167
168
| jobDefaults.argo.syncWave | string |`nil`| Sync Wave in which ArgoCD should apply the manifest. ref: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/.|
168
169
| jobDefaults.args | string |`nil`| The command arguments for the main Job container. |
170
+
| jobDefaults.backoffLimit | string |`nil`| Specifies the number of retries before marking a job as failed. ref: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/job-v1/#JobSpec Only set if you want to override the Kubernetes default (6). If not set, Kubernetes default applies. |
169
171
| jobDefaults.command | string |`nil`| The command the main Job container will run. |
170
172
| jobDefaults.enableDoNotDisrupt | bool |`true`| Whether to set the `karpenter.sh/do-not-disrupt`annotation on the Job |
171
173
| jobDefaults.env | list |`[]`| Any env entries you want to add. See includeBaseEnv to add all from main container. ref: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/|
@@ -180,7 +182,7 @@ A generic chart to support most common application requirements
180
182
| jobDefaults.podSecurityContext | object |`{}`| Add podSecurityContext config to the Job. |
181
183
| jobDefaults.resources | object |`{}`| REQUIRED FOR ALL JOBS. Resource requests/limits. |
182
184
| jobDefaults.restartPolicy | string |`"Never"`| Whether the pod should be restarted on failure ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)|
183
-
| jobDefaults.ttlSecondsAfterFinished | int |`60`| If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#cronjob-v1beta1-batch|
185
+
| jobDefaults.ttlSecondsAfterFinished | int |`600`| If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#cronjob-v1beta1-batch This needs to be greater than the associated KubeJobFailed 'for' value|
184
186
| jobs | list |`[]`| Define and configure jobs Add a map for each job in this list. Refer to `$.Values.jobDefaults` for a list of supported values (and the defaults that will be applied to all jobs below). |
185
187
| jobsOnly | bool |`false`| Only show Jobs and relevant resources (i.e. if set to `true`, hide the main deployment resource) |
0 commit comments