diff --git a/charts/argocd-apps/Chart.yaml b/charts/argocd-apps/Chart.yaml index 681d564..50242fe 100644 --- a/charts/argocd-apps/Chart.yaml +++ b/charts/argocd-apps/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v2 name: argocd-app description: A Helm chart for applications using ArgoCD -version: 1.0.1-delta +version: 1.0.2 \ No newline at end of file diff --git a/charts/argocd-apps/Values.yaml b/charts/argocd-apps/Values.yaml index 76b562e..7a49f81 100644 --- a/charts/argocd-apps/Values.yaml +++ b/charts/argocd-apps/Values.yaml @@ -32,6 +32,9 @@ main: maxReplicaCount: cpuUtilizationPercentage: memoryUtilizationPercentage: + pdb: + # (Optional) Minimum number of frontend pods that must be available during disruptions + minAvailable: 1 worker: name: enabled: @@ -51,4 +54,7 @@ worker: minReplicaCount: maxReplicaCount: cpuUtilizationPercentage: - memoryUtilizationPercentage: \ No newline at end of file + memoryUtilizationPercentage: + pdb: + # (Optional) Minimum number of worker pods that must be available during disruptions + minAvailable: 1 diff --git a/charts/argocd-apps/templates/frontend-pdb.yaml b/charts/argocd-apps/templates/frontend-pdb.yaml new file mode 100644 index 0000000..03e661d --- /dev/null +++ b/charts/argocd-apps/templates/frontend-pdb.yaml @@ -0,0 +1,18 @@ +{{- $web := .Values.main }} +{{- $replicas := $web.replicaCount | default 1 }} +{{- if and $web.enabled (ge (int $replicas) 1) }}apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ $web.name | default "web" }}-pdb + labels: + app.kubernetes.io/name: {{ $web.name | default "web" }} + app.kubernetes.io/component: web + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +spec: + minAvailable: {{ get (default dict $web.pdb) "minAvailable" | default 1 }} + selector: + matchLabels: + app.kubernetes.io/name: {{ $web.name | default "web" }} + app.kubernetes.io/component: web + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +{{- end }} diff --git a/charts/argocd-apps/templates/worker-pdb.yaml b/charts/argocd-apps/templates/worker-pdb.yaml new file mode 100644 index 0000000..cd84e4d --- /dev/null +++ b/charts/argocd-apps/templates/worker-pdb.yaml @@ -0,0 +1,18 @@ +{{- $worker := .Values.worker }} +{{- $replicas := $worker.replicaCount | default 1 }} +{{- if and $worker.enabled (ge (int $replicas) 1) }}apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ $worker.name | default "worker" }}-pdb + labels: + app.kubernetes.io/name: {{ $worker.name | default "worker" }} + app.kubernetes.io/component: worker + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +spec: + minAvailable: {{ get (default dict $worker.pdb) "minAvailable" | default 1 }} + selector: + matchLabels: + app.kubernetes.io/name: {{ $worker.name | default "worker" }} + app.kubernetes.io/component: worker + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +{{- end }} diff --git a/charts/generic-service/Chart.yaml b/charts/generic-service/Chart.yaml index 4d1f972..0154034 100644 --- a/charts/generic-service/Chart.yaml +++ b/charts/generic-service/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: generic-service description: A Helm chart for Kubernetes -version: 2.0.0-alpha +version: 2.0.1 dependencies: - name: memcached version: 6.6.x diff --git a/charts/generic-service/Values.yaml b/charts/generic-service/Values.yaml index 2adc7a1..1c14029 100644 --- a/charts/generic-service/Values.yaml +++ b/charts/generic-service/Values.yaml @@ -23,6 +23,9 @@ frontend: secretRef: php-app-tls # pragma: allowlist secret imagepolicy: pattern: ^DEVOPS-338-deploy-breeze-qa-api-[a-fA-F0-9]+-(?P.*) + pdb: + # (Optional) Minimum number of frontend pods that must be available during disruptions + minAvailable: 1 worker: - name: worker @@ -35,6 +38,9 @@ worker: replicaCount: 1 imagepolicy: pattern: ^DEVOPS-338-deploy-breeze-qa-api-[a-fA-F0-9]+-(?P.*) + pdb: + # (Optional) Minimum number of worker pods that must be available during disruptions + minAvailable: 1 autoscaling: enabled: true diff --git a/charts/generic-service/templates/frontend-pdb.yaml b/charts/generic-service/templates/frontend-pdb.yaml new file mode 100644 index 0000000..b422c70 --- /dev/null +++ b/charts/generic-service/templates/frontend-pdb.yaml @@ -0,0 +1,19 @@ +{{- range $key, $value := .Values.frontend }} +{{- $replicas := $value.replicaCount | default 1 }} +{{- if and $value.enabled (ge (int $replicas) 1) }}apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ $value.name | default "web" }}-pdb + labels: + app.kubernetes.io/name: {{ $value.name | default "web" }} + app.kubernetes.io/component: web + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +spec: + minAvailable: {{ get (default dict $value.pdb) "minAvailable" | default 1 }} + selector: + matchLabels: + app.kubernetes.io/name: {{ $value.name | default "web" }} + app.kubernetes.io/component: web + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/generic-service/templates/worker-pdb.yaml b/charts/generic-service/templates/worker-pdb.yaml new file mode 100644 index 0000000..7329802 --- /dev/null +++ b/charts/generic-service/templates/worker-pdb.yaml @@ -0,0 +1,19 @@ +{{- range $key, $value := .Values.worker }} +{{- $replicas := $value.replicaCount | default 1 }} +{{- if and $value.enabled (ge (int $replicas) 1) }}apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ $value.name | default "worker" }}-pdb + labels: + app.kubernetes.io/name: {{ $value.name | default "worker" }} + app.kubernetes.io/component: worker + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +spec: + minAvailable: {{ get (default dict $value.pdb) "minAvailable" | default 1 }} + selector: + matchLabels: + app.kubernetes.io/name: {{ $value.name | default "worker" }} + app.kubernetes.io/component: worker + app.kubernetes.io/part-of: {{ $.Release.Name | quote }} +{{- end }} +{{- end }}