From 0e3ce4e83070f907e69d5fc64e4a97cc7f4135a5 Mon Sep 17 00:00:00 2001 From: juri Date: Tue, 2 Apr 2024 13:12:08 +0100 Subject: [PATCH] add new fields --- charts/app/Chart.yaml | 2 +- charts/app/values.yaml | 25 ++++++++++++- charts/argo-applications/Chart.yaml | 2 +- charts/base/Chart.yaml | 2 +- charts/base/templates/_cronjob.tpl | 1 - charts/base/templates/_deployment.tpl | 3 -- charts/base/templates/_deploymentSpec.tpl | 45 +++++++++++++++++++++-- charts/base/templates/_job.tpl | 9 ++--- charts/base/templates/_storageClasses.tpl | 2 +- charts/cronjob/Chart.yaml | 2 +- charts/default-base/Chart.yaml | 2 +- charts/ingress/Chart.yaml | 2 +- charts/job/Chart.yaml | 2 +- charts/prometheus-rules/Chart.yaml | 2 +- charts/rbac/Chart.yaml | 2 +- charts/service/Chart.yaml | 2 +- 16 files changed, 81 insertions(+), 24 deletions(-) diff --git a/charts/app/Chart.yaml b/charts/app/Chart.yaml index 21cf56b..713f22f 100644 --- a/charts/app/Chart.yaml +++ b/charts/app/Chart.yaml @@ -3,7 +3,7 @@ name: app description: A Helm chart for Kubernetes Deployment type: application -version: 0.13.11 +version: 0.14.0 keywords: - deployment diff --git a/charts/app/values.yaml b/charts/app/values.yaml index c579ffc..684343b 100644 --- a/charts/app/values.yaml +++ b/charts/app/values.yaml @@ -67,6 +67,11 @@ securityContext: {} # runAsNonRoot: true # runAsUser: 1000 +## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ +# priorityClassName: name +# priority: 0 +# preemptionPolicy: PreemptLowerPriority + ## ref: https://cloud.google.com/kubernetes-engine/docs/how-to/container-native-load-balancing # terminationGracePeriodSeconds: 180 # minReadySeconds: 10 @@ -144,6 +149,9 @@ resources: {} # timeoutSeconds: 5 # failureThreshold: 3 +## ref: https://kubernetes.io/docs/tutorials/services/connect-applications-service/ +# enableServiceLinks: false + ## specify service account # serviceAccountName: sa-name @@ -219,7 +227,22 @@ podAntiAffinity: - weight: 50 topologyKey: "kubernetes.io/hostname" - weight: 100 - topologyKey: "failure-domain.beta.kubernetes.io/zone" + topologyKey: "topology.kubernetes.io/zone" + +## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/ +topologySpreadConstraintsDefault: + enabled: false + maxSkew: 1 + topologyKey: "topology.kubernetes.io/zone" + whenUnsatisfiable: ScheduleAnyway + +# topologySpreadConstraints: +# - labelSelector: +# matchLabels: +# app.kubernetes.io/component: app +# maxSkew: 1 +# topologyKey: topology.kubernetes.io/zone +# whenUnsatisfiable: ScheduleAnyway lifecycle: {} diff --git a/charts/argo-applications/Chart.yaml b/charts/argo-applications/Chart.yaml index 359edf0..3125c8d 100644 --- a/charts/argo-applications/Chart.yaml +++ b/charts/argo-applications/Chart.yaml @@ -3,7 +3,7 @@ name: argo-applications description: A Helm chart for Kubernetes argo applications type: application -version: 0.13.11 +version: 0.14.0 keywords: - argocd diff --git a/charts/base/Chart.yaml b/charts/base/Chart.yaml index 7a010e0..7033ecb 100644 --- a/charts/base/Chart.yaml +++ b/charts/base/Chart.yaml @@ -3,7 +3,7 @@ name: base description: A Helm chart for Kubernetes with helm named templates type: library -version: 0.13.11 +version: 0.14.0 keywords: - deployment diff --git a/charts/base/templates/_cronjob.tpl b/charts/base/templates/_cronjob.tpl index ede4f48..d5e5011 100644 --- a/charts/base/templates/_cronjob.tpl +++ b/charts/base/templates/_cronjob.tpl @@ -90,7 +90,6 @@ spec: {{- with include "base.volumes" $deploymentValues }} {{- . | trim | nindent 10 }} {{- end }} - restartPolicy: {{ $deploymentValues.Values.restartPolicy }} {{- with $deploymentValues.Values.podFailurePolicy }} podFailurePolicy: {{- toYaml . | nindent 8 }} diff --git a/charts/base/templates/_deployment.tpl b/charts/base/templates/_deployment.tpl index ffd3f3c..a8e5dcd 100644 --- a/charts/base/templates/_deployment.tpl +++ b/charts/base/templates/_deployment.tpl @@ -103,9 +103,6 @@ spec: {{- . | trim | nindent 10 }} {{- end }} {{- end }} - {{- if $deploymentValues.Values.terminationGracePeriodSeconds }} - terminationGracePeriodSeconds: {{ $deploymentValues.Values.terminationGracePeriodSeconds }} - {{- end }} {{- with include "base.volumes" $deploymentValues }} {{- . | trim | nindent 6 }} {{- end }} diff --git a/charts/base/templates/_deploymentSpec.tpl b/charts/base/templates/_deploymentSpec.tpl index a0ad273..265ded2 100644 --- a/charts/base/templates/_deploymentSpec.tpl +++ b/charts/base/templates/_deploymentSpec.tpl @@ -218,12 +218,18 @@ imagePullSecrets: {{- end }} {{/* -define container priorityClassName +define pod priority and priorityClass */}} -{{- define "base.priorityClassName" -}} +{{- define "base.podPriority" -}} {{- if .priorityClassName }} priorityClassName: {{ .priorityClassName }} {{- end }} +{{- if .priority }} +priority: {{ .priority }} +{{- end }} +{{- if .preemptionPolicy }} +preemptionPolicy: {{ .preemptionPolicy }} +{{- end }} {{- end }} {{/* @@ -254,6 +260,9 @@ args: define pod command and args */}} {{- define "base.hostAliases" -}} +{{- if .dnsPolicy }} +dnsPolicy: {{ .dnsPolicy }} +{{- end }} {{- if .hostNetwork }} hostNetwork: {{ .hostNetwork }} {{- end }} @@ -273,6 +282,28 @@ automountServiceAccountToken: {{ .automountServiceAccountToken }} serviceAccountName: {{ .serviceAccountName | default "default" }} {{- end }} +{{/* +define topologySpreadConstraints +*/}} +{{- define "base.topologySpreadConstraints" -}} +{{- if or (and (index .Values "topologySpreadConstraintsDefault") (index .Values.topologySpreadConstraintsDefault "enabled")) .Values.topologySpreadConstraints }} +topologySpreadConstraints: +{{- with .Values.topologySpreadConstraints }} +{{ toYaml . | indent 2 }} +{{- end }} +{{- if .Values.topologySpreadConstraintsDefault.enabled }} +- labelSelector: + matchLabels: + {{- range $key, $value := include "base.selectorLabels" . | trim | toString | fromYaml }} + {{ $key }}: {{ $value }} + {{- end }} + maxSkew: {{ .Values.topologySpreadConstraintsDefault.maxSkew }} + topologyKey: {{ .Values.topologySpreadConstraintsDefault.topologyKey }} + whenUnsatisfiable: {{ .Values.topologySpreadConstraintsDefault.whenUnsatisfiable }} +{{- end }} +{{- end }} +{{- end }} + {{/* define default pod properties */}} @@ -295,5 +326,13 @@ define default container properties {{- include "base.NodeScheduling" . }} {{- include "base.serviceAccount" .Values }} {{- include "base.hostAliases" .Values }} -{{- include "base.priorityClassName" .Values }} +{{- include "base.podPriority" .Values }} +{{- include "base.topologySpreadConstraints" . }} +enableServiceLinks: {{ hasKey .Values "enableServiceLinks" | ternary .Values.enableServiceLinks true }} +{{- if .Values.restartPolicy }} +restartPolicy: {{ .Values.restartPolicy }} +{{- end }} +{{- if .Values.terminationGracePeriodSeconds }} +terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} {{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/base/templates/_job.tpl b/charts/base/templates/_job.tpl index 74b5e83..06c4865 100644 --- a/charts/base/templates/_job.tpl +++ b/charts/base/templates/_job.tpl @@ -25,6 +25,10 @@ spec: parallelism: {{ $deploymentValues.Values.parallelism }} {{- end }} backoffLimit: {{ $deploymentValues.Values.backoffLimit | toString }} + {{- with $deploymentValues.Values.podFailurePolicy }} + podFailurePolicy: + {{- toYaml . | nindent 4 }} + {{- end }} template: {{- if or $deploymentValues.Values.podAnnotations $deploymentValues.Values.podLabels }} metadata: @@ -38,7 +42,6 @@ spec: {{- end }} {{- end }} spec: - restartPolicy: {{ $deploymentValues.Values.restartPolicy }} {{- if $deploymentValues.Values.podActiveDeadlineSeconds }} activeDeadlineSeconds: {{ $deploymentValues.Values.podActiveDeadlineSeconds }} {{- end }} @@ -71,8 +74,4 @@ spec: {{- with include "base.volumes" $deploymentValues }} {{- . | trim | nindent 6 }} {{- end }} - {{- with $deploymentValues.Values.podFailurePolicy }} - podFailurePolicy: - {{- toYaml . | nindent 4 }} - {{- end }} {{- end }} \ No newline at end of file diff --git a/charts/base/templates/_storageClasses.tpl b/charts/base/templates/_storageClasses.tpl index 8d51405..04ca669 100644 --- a/charts/base/templates/_storageClasses.tpl +++ b/charts/base/templates/_storageClasses.tpl @@ -17,7 +17,7 @@ parameters: provisioner: {{ .provisioner }} {{- end }} reclaimPolicy: {{ .reclaimPolicy | default "Retain" }} -allowVolumeExpansion: {{ .allowVolumeExpansion | default true }} +allowVolumeExpansion: {{ hasKey . "allowVolumeExpansion" | ternary .allowVolumeExpansion true }} volumeBindingMode: {{ .volumeBindingMode | default "Immediate" }} {{- end }} {{- end }} diff --git a/charts/cronjob/Chart.yaml b/charts/cronjob/Chart.yaml index 4de1ced..31aebf9 100644 --- a/charts/cronjob/Chart.yaml +++ b/charts/cronjob/Chart.yaml @@ -3,7 +3,7 @@ name: cronjob description: A Helm chart for Kubernetes cronjob type: application -version: 0.13.11 +version: 0.14.0 keywords: - cronjob diff --git a/charts/default-base/Chart.yaml b/charts/default-base/Chart.yaml index 969cfd8..739f6f0 100644 --- a/charts/default-base/Chart.yaml +++ b/charts/default-base/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: default-base description: A Helm chart for Kubernetes - default-base for namespaces -version: 0.13.11 +version: 0.14.0 keywords: - BackendConfig diff --git a/charts/ingress/Chart.yaml b/charts/ingress/Chart.yaml index 5049ea9..ba3f044 100644 --- a/charts/ingress/Chart.yaml +++ b/charts/ingress/Chart.yaml @@ -3,7 +3,7 @@ name: ingress description: A Helm chart for Kubernetes ingress type: application -version: 0.13.11 +version: 0.14.0 keywords: - ingress diff --git a/charts/job/Chart.yaml b/charts/job/Chart.yaml index 8cf4998..ad3d305 100644 --- a/charts/job/Chart.yaml +++ b/charts/job/Chart.yaml @@ -3,7 +3,7 @@ name: job description: A Helm chart for Kubernetes job type: application -version: 0.13.11 +version: 0.14.0 keywords: - job diff --git a/charts/prometheus-rules/Chart.yaml b/charts/prometheus-rules/Chart.yaml index d57ea14..bfdd413 100644 --- a/charts/prometheus-rules/Chart.yaml +++ b/charts/prometheus-rules/Chart.yaml @@ -3,7 +3,7 @@ name: prometheus-rules description: A Helm chart for Prometheus Rules type: application -version: 0.13.11 +version: 0.14.0 keywords: - job diff --git a/charts/rbac/Chart.yaml b/charts/rbac/Chart.yaml index 91da5de..d6814c0 100644 --- a/charts/rbac/Chart.yaml +++ b/charts/rbac/Chart.yaml @@ -3,7 +3,7 @@ name: rbac description: A Helm chart for Kubernetes rbac type: application -version: 0.13.11 +version: 0.14.0 keywords: - rbac diff --git a/charts/service/Chart.yaml b/charts/service/Chart.yaml index 71d70ae..410b2b2 100644 --- a/charts/service/Chart.yaml +++ b/charts/service/Chart.yaml @@ -3,7 +3,7 @@ name: service description: A Helm chart for Kubernetes service type: application -version: 0.13.11 +version: 0.14.0 keywords: - service