diff --git a/.github/workflows/charts-test.yaml b/.github/workflows/charts-test.yaml index 0f6b4c32..b3196301 100644 --- a/.github/workflows/charts-test.yaml +++ b/.github/workflows/charts-test.yaml @@ -29,7 +29,7 @@ jobs: strategy: matrix: chart: ${{ fromJSON(inputs.chartsToTest) }} - k8s_version: ["v1.22.15", "v1.23.13", "v1.24.7", "v1.25.3"] + k8s_version: ["v1.22.17", "v1.23.15", "v1.24.9", "v1.25.5"] fail-fast: false steps: - name: Checkout diff --git a/charts/library/common/Chart.yaml b/charts/library/common/Chart.yaml index 3539fab8..a202aa64 100644 --- a/charts/library/common/Chart.yaml +++ b/charts/library/common/Chart.yaml @@ -3,7 +3,7 @@ apiVersion: v2 name: common description: Function library for Helm charts type: library -version: 1.2.0 +version: 1.2.1 kubeVersion: ">=1.22.0-0" keywords: - common @@ -15,12 +15,13 @@ maintainers: annotations: artifacthub.io/changes: |- - kind: fixed - description: Fixed sectionName not being optional for gateway routes + description: Fixed indentation in cronjob component to allow podAnnotations - kind: fixed - description: Fixed primary gateway route having incorrect name - - kind: fixed - description: Fixed invalid persistence type message + description: Cleaned leftover `secret` behavior under `envFrom`. + links: + - name: GitHub Issue + url: https://github.com/bjw-s/helm-charts/issues/94 + - kind: changed + description: Updated code-server image tag to 4.9.1 - kind: added - description: Added cronjob as controller.type - - kind: added - description: Allow setting container restartPolicy + description: Allow setting `ttlSecondsAfterFinished` for CronJobs diff --git a/charts/library/common/README.md b/charts/library/common/README.md index 1b9a3078..b08366be 100644 --- a/charts/library/common/README.md +++ b/charts/library/common/README.md @@ -1,6 +1,6 @@ # common -![Version: 1.2.0](https://img.shields.io/badge/Version-1.2.0-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) +![Version: 1.2.1](https://img.shields.io/badge/Version-1.2.1-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) Function library for Helm charts @@ -29,7 +29,7 @@ Include this chart as a dependency in your `Chart.yaml` e.g. # Chart.yaml dependencies: - name: common - version: 1.2.0 + version: 1.2.1 repository: https://bjw-s.github.io/helm-charts/ ``` diff --git a/charts/library/common/templates/classes/_cronjob.tpl b/charts/library/common/templates/classes/_cronjob.tpl index b73b0e28..704a048e 100644 --- a/charts/library/common/templates/classes/_cronjob.tpl +++ b/charts/library/common/templates/classes/_cronjob.tpl @@ -27,11 +27,14 @@ spec: failedJobsHistoryLimit: {{ .Values.controller.cronjob.failedJobsHistory }} jobTemplate: spec: + {{- with .Values.controller.cronjob.ttlSecondsAfterFinished }} + ttlSecondsAfterFinished: {{ . }} + {{- end }} template: metadata: {{- with include ("bjw-s.common.lib.metadata.podAnnotations") . }} annotations: - {{- . | nindent 8 }} + {{- . | nindent 10 }} {{- end }} labels: {{- include "bjw-s.common.lib.metadata.selectorLabels" . | nindent 12 }} diff --git a/charts/library/common/templates/lib/controller/_mainContainer.tpl b/charts/library/common/templates/lib/controller/_mainContainer.tpl index 40fc8be0..81aa3c44 100644 --- a/charts/library/common/templates/lib/controller/_mainContainer.tpl +++ b/charts/library/common/templates/lib/controller/_mainContainer.tpl @@ -38,15 +38,9 @@ env: {{- get (fromYaml (include "bjw-s.common.lib.container.envVars" $)) "env" | toYaml | nindent 4 -}} {{- end }} - {{- if or .Values.envFrom .Values.secret }} + {{- with .Values.envFrom }} envFrom: - {{- with .Values.envFrom }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- if .Values.secret }} - - secretRef: - name: {{ include "bjw-s.common.lib.chart.names.fullname" . }} - {{- end }} + {{- toYaml . | nindent 4 }} {{- end }} ports: {{- include "bjw-s.common.lib.container.ports" . | trim | nindent 4 }} diff --git a/charts/library/common/values.yaml b/charts/library/common/values.yaml index 487edd44..f04710f6 100644 --- a/charts/library/common/values.yaml +++ b/charts/library/common/values.yaml @@ -52,6 +52,8 @@ controller: successfulJobsHistory: 1 # -- The number of failed Jobs to keep failedJobsHistory: 1 + # -- If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. + ttlSecondsAfterFinished: image: # -- image repository @@ -709,7 +711,7 @@ addons: # -- Specify the code-server image repository: ghcr.io/coder/code-server # -- Specify the code-server image tag - tag: 4.8.3 + tag: 4.9.1 # -- Specify the code-server image pull policy pullPolicy: IfNotPresent diff --git a/charts/other/app-template/Chart.yaml b/charts/other/app-template/Chart.yaml index 2aa988b3..3d76a3e0 100644 --- a/charts/other/app-template/Chart.yaml +++ b/charts/other/app-template/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 description: A common powered chart template. This can be useful for small projects that don't have their own chart. name: app-template -version: 1.2.0 +version: 1.2.1 kubeVersion: ">=1.22.0-0" maintainers: - name: bjw-s @@ -10,12 +10,12 @@ maintainers: dependencies: - name: common repository: https://bjw-s.github.io/helm-charts - version: 1.2.0 + version: 1.2.1 annotations: artifacthub.io/changes: |- - kind: changed description: | - Updated library version to 1.2.0. + Updated library version to 1.2.1. links: - name: Common library chart definition url: https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/Chart.yaml diff --git a/charts/other/app-template/tests/configmap/metadata_test.yaml b/charts/other/app-template/tests/configmap/metadata_test.yaml index 549533e3..2f5f0c90 100644 --- a/charts/other/app-template/tests/configmap/metadata_test.yaml +++ b/charts/other/app-template/tests/configmap/metadata_test.yaml @@ -23,7 +23,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -52,7 +52,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -89,5 +89,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/container/envfrom_test.yaml b/charts/other/app-template/tests/container/envfrom_test.yaml index 0d98da96..34d7bd30 100644 --- a/charts/other/app-template/tests/container/envfrom_test.yaml +++ b/charts/other/app-template/tests/container/envfrom_test.yaml @@ -26,18 +26,3 @@ tests: value: secretRef: name: myCustomSecret - - - it: from secret should pass - set: - secret: - STATIC_SECRET: value_of_secret - asserts: - - documentIndex: &DeploymentDoc 0 - isKind: - of: Deployment - - documentIndex: *DeploymentDoc - equal: - path: spec.template.spec.containers[0].envFrom[0] - value: - secretRef: - name: RELEASE-NAME diff --git a/charts/other/app-template/tests/controller/cronjob_test.yaml b/charts/other/app-template/tests/controller/cronjob_test.yaml index 374422bd..f9acf510 100644 --- a/charts/other/app-template/tests/controller/cronjob_test.yaml +++ b/charts/other/app-template/tests/controller/cronjob_test.yaml @@ -26,6 +26,9 @@ tests: equal: path: spec.failedJobsHistoryLimit value: 1 + - documentIndex: *ControllerDoc + isNull: + path: spec.jobTemplate.spec.ttlSecondsAfterFinished - documentIndex: *ControllerDoc equal: path: spec.jobTemplate.spec.template.spec.restartPolicy @@ -41,6 +44,7 @@ tests: concurrencyPolicy: &CronJobConcurrencyPolicy "Test" failedJobsHistory: &CronJobFailedJobsHistory 2 successfulJobsHistory: &CronJobSuccessfulJobsHistory 3 + ttlSecondsAfterFinished: &ttlSecondsAfterFinished 3600 asserts: - documentIndex: &ControllerDoc 0 isKind: @@ -61,6 +65,10 @@ tests: equal: path: spec.failedJobsHistoryLimit value: *CronJobFailedJobsHistory + - documentIndex: *ControllerDoc + equal: + path: spec.jobTemplate.spec.ttlSecondsAfterFinished + value: *ttlSecondsAfterFinished - documentIndex: *ControllerDoc equal: path: spec.jobTemplate.spec.template.spec.restartPolicy diff --git a/charts/other/app-template/tests/controller/metadata_cronjob_test.yaml b/charts/other/app-template/tests/controller/metadata_cronjob_test.yaml index 8d97d101..085bdc5b 100644 --- a/charts/other/app-template/tests/controller/metadata_cronjob_test.yaml +++ b/charts/other/app-template/tests/controller/metadata_cronjob_test.yaml @@ -19,7 +19,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -45,7 +45,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -79,5 +79,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/controller/metadata_daemonset_test.yaml b/charts/other/app-template/tests/controller/metadata_daemonset_test.yaml index 5b57eb4d..ab107a7f 100644 --- a/charts/other/app-template/tests/controller/metadata_daemonset_test.yaml +++ b/charts/other/app-template/tests/controller/metadata_daemonset_test.yaml @@ -19,7 +19,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -45,7 +45,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -79,5 +79,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/controller/metadata_deployment_test.yaml b/charts/other/app-template/tests/controller/metadata_deployment_test.yaml index 50993a38..9b7678d6 100644 --- a/charts/other/app-template/tests/controller/metadata_deployment_test.yaml +++ b/charts/other/app-template/tests/controller/metadata_deployment_test.yaml @@ -19,7 +19,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -45,7 +45,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -79,5 +79,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/controller/metadata_statefulset_test.yaml b/charts/other/app-template/tests/controller/metadata_statefulset_test.yaml index 733480d0..fdfd6a36 100644 --- a/charts/other/app-template/tests/controller/metadata_statefulset_test.yaml +++ b/charts/other/app-template/tests/controller/metadata_statefulset_test.yaml @@ -19,7 +19,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -45,7 +45,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -79,5 +79,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/ingress/metadata_test.yaml b/charts/other/app-template/tests/ingress/metadata_test.yaml index f870c84a..fbf5eb8d 100644 --- a/charts/other/app-template/tests/ingress/metadata_test.yaml +++ b/charts/other/app-template/tests/ingress/metadata_test.yaml @@ -19,7 +19,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -45,7 +45,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -79,5 +79,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/pvc/metadata_test.yaml b/charts/other/app-template/tests/pvc/metadata_test.yaml index 79e11009..2a15abfa 100644 --- a/charts/other/app-template/tests/pvc/metadata_test.yaml +++ b/charts/other/app-template/tests/pvc/metadata_test.yaml @@ -19,7 +19,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: retain enabled should pass set: @@ -42,7 +42,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -68,7 +68,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -102,5 +102,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/route/metadata_test.yaml b/charts/other/app-template/tests/route/metadata_test.yaml index 11b30b58..3526bb7a 100644 --- a/charts/other/app-template/tests/route/metadata_test.yaml +++ b/charts/other/app-template/tests/route/metadata_test.yaml @@ -23,7 +23,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -52,7 +52,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -89,5 +89,5 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test diff --git a/charts/other/app-template/tests/secret/metadata_test.yaml b/charts/other/app-template/tests/secret/metadata_test.yaml index 59f5a15e..452eee90 100644 --- a/charts/other/app-template/tests/secret/metadata_test.yaml +++ b/charts/other/app-template/tests/secret/metadata_test.yaml @@ -23,7 +23,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -52,7 +52,7 @@ tests: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -89,7 +89,7 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom secret type should pass diff --git a/charts/other/app-template/tests/service/metadata_test.yaml b/charts/other/app-template/tests/service/metadata_test.yaml index 9141275d..dd67d891 100644 --- a/charts/other/app-template/tests/service/metadata_test.yaml +++ b/charts/other/app-template/tests/service/metadata_test.yaml @@ -18,7 +18,7 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME app.kubernetes.io/service: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 - it: custom metadata should pass set: @@ -45,7 +45,7 @@ tests: app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME app.kubernetes.io/service: RELEASE-NAME - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test - it: custom metadata with global metadata should pass @@ -80,5 +80,5 @@ tests: app.kubernetes.io/name: RELEASE-NAME app.kubernetes.io/service: RELEASE-NAME global_label: test - helm.sh/chart: app-template-1.2.0 + helm.sh/chart: app-template-1.2.1 test_label: test