From 69ab216a3cca54fcc49491a1c46208d81988ef36 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 11:27:11 +0100 Subject: [PATCH 1/9] :bug: Fix missing init container in OAB --- .../templates/deployment.yaml | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/charts/openarchiefbeheer/templates/deployment.yaml b/charts/openarchiefbeheer/templates/deployment.yaml index 1d4ac03..dde432f 100644 --- a/charts/openarchiefbeheer/templates/deployment.yaml +++ b/charts/openarchiefbeheer/templates/deployment.yaml @@ -34,6 +34,40 @@ spec: serviceAccountName: {{ include "openarchiefbeheer.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if and .Values.global.configuration.enabled .Values.configuration.enabled .Values.configuration.initContainer.enabled }} + initContainers: + - name: {{ .Chart.Name }}-config + securityContext: + {{- toYaml .Values.securityContext | nindent 16 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + envFrom: + - secretRef: + name: {{ .Values.existingSecret | default (include "openarchiefbeheer.fullname" .) }} + - configMapRef: + name: {{ include "openarchiefbeheer.fullname" . }} + - secretRef: + name: {{ include "openarchiefbeheer.fullname" . }}-config-secrets + env: + {{- if .Values.extraEnvVars }} + {{- include "openarchiefbeheer.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 16 }} + {{- end }} + command: + - "/bin/bash" + - "-c" + args: + - | + /wait_for_db.sh + /app/src/manage.py migrate + /app/src/manage.py setup_configuration --no-selftest {{- if or .Values.global.configuration.overwrite .Values.configuration.overwrite }} --overwrite{{- end }} + volumeMounts: + - name: media + mountPath: /app/media + subPath: {{ .Values.persistence.mediaMountSubpath | default "openarchiefbeheer/media" }} + {{- if .Values.extraVolumeMounts }} + {{- include "openarchiefbeheer.tplvalues.render" ( dict "value" .Values.extraVolumeMounts "context" $ ) | nindent 12 }} + {{- end }} + {{- end }} containers: - name: {{ include "openarchiefbeheer.fullname" . }} securityContext: @@ -43,8 +77,6 @@ spec: envFrom: - secretRef: name: {{ .Values.existingSecret | default (include "openarchiefbeheer.fullname" .) }} - - secretRef: - name: {{ include "openarchiefbeheer.fullname" . }}-config-secrets - configMapRef: name: {{ include "openarchiefbeheer.fullname" . }} env: From 5287a4f3fe3bee662abf275a95ad45fc8ced4f60 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 11:28:03 +0100 Subject: [PATCH 2/9] :sparkles: [#148] Update livenessProbe OAB OAB has long running tasks (>2h), so only the celery active probe is added --- charts/openarchiefbeheer/Chart.yaml | 2 +- charts/openarchiefbeheer/README.md | 13 ++++++++++--- charts/openarchiefbeheer/values.yaml | 7 ++++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/charts/openarchiefbeheer/Chart.yaml b/charts/openarchiefbeheer/Chart.yaml index 8f5ccc1..1e720e9 100644 --- a/charts/openarchiefbeheer/Chart.yaml +++ b/charts/openarchiefbeheer/Chart.yaml @@ -3,7 +3,7 @@ name: openarchiefbeheer description: Opstellen, beheren en uitvoeren van vernietigingslijsten, voor gebruik met Zaakgericht werken type: application -version: 1.1.0-beta.5 +version: 1.1.1-beta.0 appVersion: latest dependencies: diff --git a/charts/openarchiefbeheer/README.md b/charts/openarchiefbeheer/README.md index 31ec7bd..a1ac563 100644 --- a/charts/openarchiefbeheer/README.md +++ b/charts/openarchiefbeheer/README.md @@ -1,6 +1,6 @@ # openarchiefbeheer -![Version: 1.1.0-beta.1](https://img.shields.io/badge/Version-1.1.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.1.1-beta.0](https://img.shields.io/badge/Version-1.1.1--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Opstellen, beheren en uitvoeren van vernietigingslijsten, voor gebruik met Zaakgericht werken @@ -179,9 +179,16 @@ Opstellen, beheren en uitvoeren van vernietigingslijsten, voor gebruik met Zaakg | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | -| worker.livenessProbe | object | `{}` | | +| worker.livenessProbe.enabled | bool | `false` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app openarchiefbeheer.celery inspect --destination celery@${HOSTNAME} active"` | | +| worker.livenessProbe.failureThreshold | int | `3` | | +| worker.livenessProbe.initialDelaySeconds | int | `60` | | +| worker.livenessProbe.periodSeconds | int | `30` | | +| worker.livenessProbe.successThreshold | int | `1` | | +| worker.livenessProbe.timeoutSeconds | int | `10` | | | worker.podLabels | object | `{}` | | -| worker.readinessProbe | object | `{}` | | | worker.replicaCount | int | `1` | | | worker.resources | object | `{}` | | diff --git a/charts/openarchiefbeheer/values.yaml b/charts/openarchiefbeheer/values.yaml index e0083ce..6b673ea 100644 --- a/charts/openarchiefbeheer/values.yaml +++ b/charts/openarchiefbeheer/values.yaml @@ -257,8 +257,13 @@ worker: resources: {} livenessProbe: enabled: false + exec: + command: + - /bin/sh + - -c + - celery --workdir src --app openarchiefbeheer.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 - periodSeconds: 10 + periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 successThreshold: 1 From 8b6b97d39c12cf5aee858cf9eb441d3ced1750a2 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 11:42:05 +0100 Subject: [PATCH 3/9] :sparkles: [#148] Update livenessProbe for object API The object API has a celerty task limit of 5 min (soft), 15 min (hard). So no ping was added. --- charts/objecten/Chart.yaml | 2 +- charts/objecten/README.md | 12 +++++++----- charts/objecten/templates/deployment.yaml | 12 +++++++++--- charts/objecten/values.yaml | 12 +++++++----- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/charts/objecten/Chart.yaml b/charts/objecten/Chart.yaml index 66a59cb..c63124a 100644 --- a/charts/objecten/Chart.yaml +++ b/charts/objecten/Chart.yaml @@ -3,7 +3,7 @@ name: objecten description: API om objecten te beheren die behoren bij een bepaald objecttype type: application -version: 2.6.0-beta.3 +version: 2.7.0-beta.0 appVersion: latest dependencies: diff --git a/charts/objecten/README.md b/charts/objecten/README.md index 520bcaa..3b6c729 100644 --- a/charts/objecten/README.md +++ b/charts/objecten/README.md @@ -1,6 +1,6 @@ # objecten -![Version: 2.6.0-beta.1](https://img.shields.io/badge/Version-2.6.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 2.7.0-beta.0](https://img.shields.io/badge/Version-2.7.0--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) API om objecten te beheren die behoren bij een bepaald objecttype @@ -167,13 +167,15 @@ API om objecten te beheren die behoren bij een bepaald objecttype | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | -| worker.livenessProbe.exec.command[0] | string | `"python"` | | -| worker.livenessProbe.exec.command[1] | string | `"/app/bin/check_celery_worker_liveness.py"` | | -| worker.livenessProbe.failureThreshold | int | `10` | | +| worker.livenessProbe.enabled | bool | `true` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app objects.celery inspect --destination celery@${HOSTNAME} active"` | | +| worker.livenessProbe.failureThreshold | int | `3` | | | worker.livenessProbe.initialDelaySeconds | int | `60` | | | worker.livenessProbe.periodSeconds | int | `50` | | | worker.livenessProbe.successThreshold | int | `1` | | -| worker.livenessProbe.timeoutSeconds | int | `5` | | +| worker.livenessProbe.timeoutSeconds | int | `10` | | | worker.maxWorkerLivenessDelta | string | `""` | | | worker.podLabels | object | `{}` | | | worker.replicaCount | int | `1` | | diff --git a/charts/objecten/templates/deployment.yaml b/charts/objecten/templates/deployment.yaml index c109cc9..f7460b0 100644 --- a/charts/objecten/templates/deployment.yaml +++ b/charts/objecten/templates/deployment.yaml @@ -183,10 +183,16 @@ spec: {{- if .Values.extraEnvVars }} {{- include "objecten.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} - {{- if .Values.worker.livenessProbe }} + {{- if .Values.worker.livenessProbe.enabled }} livenessProbe: - {{- toYaml .Values.worker.livenessProbe | nindent 12 }} - {{- end }} + exec: + {{- toYaml .Values.worker.livenessProbe.exec | nindent 14 }} + initialDelaySeconds: {{ .Values.worker.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.worker.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.worker.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.worker.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.worker.livenessProbe.failureThreshold }} + {{- end }} resources: {{- toYaml .Values.worker.resources | nindent 12 }} command: diff --git a/charts/objecten/values.yaml b/charts/objecten/values.yaml index 0ff5ee2..9195d5a 100644 --- a/charts/objecten/values.yaml +++ b/charts/objecten/values.yaml @@ -293,16 +293,18 @@ worker: resources: {} # Defaults to 60s maxWorkerLivenessDelta: "" - livenessProbe: + livenessProbe: + enabled: false exec: command: - - python - - /app/bin/check_celery_worker_liveness.py + - /bin/sh + - -c + - celery --workdir src --app objects.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 # Periodeseconds should not exceed maxWorkerLivenessDelta periodSeconds: 50 - timeoutSeconds: 5 - failureThreshold: 10 + timeoutSeconds: 10 + failureThreshold: 3 successThreshold: 1 autoscaling: enabled: false From 0a3b366f463059d24edd51136bac8bf3ef9d2bcf Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 12:26:53 +0100 Subject: [PATCH 4/9] :sparkles: [#148] Update livenessProbe Open Forms Open forms has task limits (5 (soft), 15 (hard) minutes) so no ping was added --- charts/openforms/Chart.yaml | 2 +- charts/openforms/README.md | 20 ++++++++++++++++---- charts/openforms/templates/deployment.yaml | 12 +++++++++--- charts/openforms/values.yaml | 10 ++++++---- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/charts/openforms/Chart.yaml b/charts/openforms/Chart.yaml index 1f5255a..66e880c 100644 --- a/charts/openforms/Chart.yaml +++ b/charts/openforms/Chart.yaml @@ -3,7 +3,7 @@ name: openforms description: Snel en eenvoudig slimme formulieren bouwen en publiceren type: application -version: 1.6.0-beta.4 +version: 1.8.0-beta.0 appVersion: latest icon: https://open-forms.readthedocs.io/en/stable/_static/logo.svg diff --git a/charts/openforms/README.md b/charts/openforms/README.md index ce1e254..12e32af 100644 --- a/charts/openforms/README.md +++ b/charts/openforms/README.md @@ -1,6 +1,6 @@ # openforms -![Version: 1.5.0](https://img.shields.io/badge/Version-1.5.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.8.1](https://img.shields.io/badge/AppVersion-2.8.1-informational?style=flat-square) +![Version: 1.8.0-beta.0](https://img.shields.io/badge/Version-1.8.0--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Snel en eenvoudig slimme formulieren bouwen en publiceren @@ -27,6 +27,14 @@ Snel en eenvoudig slimme formulieren bouwen en publiceren | beat.podLabels | object | `{}` | | | beat.replicaCount | int | `1` | | | beat.resources | object | `{}` | | +| configuration.enabled | bool | `false` | | +| configuration.initContainer.enabled | bool | `false` | Run the setup configuration command in a init container | +| configuration.job.backoffLimit | int | `6` | | +| configuration.job.enabled | bool | `true` | Run the setup configuration command as a job | +| configuration.job.resources | object | `{}` | | +| configuration.job.restartPolicy | string | `"OnFailure"` | | +| configuration.job.ttlSecondsAfterFinished | int | `0` | 0 Will clean the job after it is finished | +| configuration.secrets | object | `{}` | | | existingSecret | string | `nil` | | | extraDeploy | list | `[]` | | | extraEnvVars | list | `[]` | | @@ -49,6 +57,8 @@ Snel en eenvoudig slimme formulieren bouwen en publiceren | flower.replicaCount | int | `1` | | | flower.resources | object | `{}` | | | fullnameOverride | string | `""` | | +| global.configuration.enabled | bool | `false` | | +| global.configuration.secrets | object | `{}` | | | global.settings.databaseHost | string | `""` | Global databasehost, overrides setting.database.host | | image.pullPolicy | string | `"IfNotPresent"` | | | image.repository | string | `"openformulieren/open-forms"` | | @@ -198,9 +208,11 @@ Snel en eenvoudig slimme formulieren bouwen en publiceren | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | -| worker.livenessProbe.exec.command[0] | string | `"python"` | | -| worker.livenessProbe.exec.command[1] | string | `"/app/bin/check_celery_worker_liveness.py"` | | -| worker.livenessProbe.failureThreshold | int | `10` | | +| worker.livenessProbe.enabled | bool | `false` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app openforms.celery inspect --destination celery@${HOSTNAME} active"` | | +| worker.livenessProbe.failureThreshold | int | `3` | | | worker.livenessProbe.initialDelaySeconds | int | `60` | | | worker.livenessProbe.periodSeconds | int | `50` | | | worker.livenessProbe.successThreshold | int | `1` | | diff --git a/charts/openforms/templates/deployment.yaml b/charts/openforms/templates/deployment.yaml index 47b2aaf..9aebe72 100644 --- a/charts/openforms/templates/deployment.yaml +++ b/charts/openforms/templates/deployment.yaml @@ -285,10 +285,16 @@ spec: {{- if .Values.extraEnvVars }} {{- include "openforms.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} - {{- if .Values.worker.livenessProbe }} + {{- if .Values.worker.livenessProbe.enabled }} livenessProbe: - {{- toYaml .Values.worker.livenessProbe | nindent 12 }} - {{- end }} + exec: + {{- toYaml .Values.worker.livenessProbe.exec | nindent 14 }} + initialDelaySeconds: {{ .Values.worker.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.worker.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.worker.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.worker.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.worker.livenessProbe.failureThreshold }} + {{- end }} resources: {{- toYaml .Values.worker.resources | nindent 12 }} command: diff --git a/charts/openforms/values.yaml b/charts/openforms/values.yaml index 30aa754..8bd2844 100644 --- a/charts/openforms/values.yaml +++ b/charts/openforms/values.yaml @@ -443,16 +443,18 @@ worker: resources: {} # Defaults to 60s maxWorkerLivenessDelta: "" - livenessProbe: + livenessProbe: + enabled: false exec: command: - - python - - /app/bin/check_celery_worker_liveness.py + - /bin/sh + - -c + - celery --workdir src --app openforms.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 # Periodeseconds should not exceed maxWorkerLivenessDelta periodSeconds: 50 timeoutSeconds: 15 - failureThreshold: 10 + failureThreshold: 3 successThreshold: 1 autoscaling: enabled: false From faf3c1b8e5fa0a470190cfc3bd93b40a53754125 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 12:33:11 +0100 Subject: [PATCH 5/9] :sparkles: [#148] Update livenessProbe Open Inwoner OIP has a hard task limit of 15 min, so no ping probe was added --- charts/openinwoner/Chart.yaml | 2 +- charts/openinwoner/README.md | 12 +++++++----- charts/openinwoner/templates/deployment.yaml | 12 +++++++++--- charts/openinwoner/values.yaml | 10 ++++++---- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/charts/openinwoner/Chart.yaml b/charts/openinwoner/Chart.yaml index 293dfb7..e7736df 100644 --- a/charts/openinwoner/Chart.yaml +++ b/charts/openinwoner/Chart.yaml @@ -3,7 +3,7 @@ name: openinwoner description: Platform voor gemeenten en overheden om producten inzichtelijker en toegankelijker te maken voor inwoners. type: application -version: 1.6.1-beta.0 +version: 1.7.0-beta.0 appVersion: latest icon: https://docs.openinwoner.nl/en/latest/_static/logo.png diff --git a/charts/openinwoner/README.md b/charts/openinwoner/README.md index b3b5e92..a26f340 100644 --- a/charts/openinwoner/README.md +++ b/charts/openinwoner/README.md @@ -1,6 +1,6 @@ # openinwoner -![Version: 1.6.1-beta.0](https://img.shields.io/badge/Version-1.6.1--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.7.0-beta.0](https://img.shields.io/badge/Version-1.7.0--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Platform voor gemeenten en overheden om producten inzichtelijker en toegankelijker te maken voor inwoners. @@ -194,13 +194,15 @@ Platform voor gemeenten en overheden om producten inzichtelijker en toegankelijk | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | -| worker.livenessProbe.exec.command[0] | string | `"python"` | | -| worker.livenessProbe.exec.command[1] | string | `"/app/bin/check_celery_worker_liveness.py"` | | -| worker.livenessProbe.failureThreshold | int | `10` | | +| worker.livenessProbe.enabled | bool | `false` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app open_inwoner.celery inspect --destination celery@${HOSTNAME} active"` | | +| worker.livenessProbe.failureThreshold | int | `3` | | | worker.livenessProbe.initialDelaySeconds | int | `60` | | | worker.livenessProbe.periodSeconds | int | `50` | | | worker.livenessProbe.successThreshold | int | `1` | | -| worker.livenessProbe.timeoutSeconds | int | `5` | | +| worker.livenessProbe.timeoutSeconds | int | `10` | | | worker.maxWorkerLivenessDelta | string | `""` | | | worker.podLabels | object | `{}` | | | worker.replicaCount | int | `1` | | diff --git a/charts/openinwoner/templates/deployment.yaml b/charts/openinwoner/templates/deployment.yaml index 355af46..0f5f3df 100644 --- a/charts/openinwoner/templates/deployment.yaml +++ b/charts/openinwoner/templates/deployment.yaml @@ -365,10 +365,16 @@ spec: {{- if .Values.extraEnvVars }} {{- include "openinwoner.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} - {{- if .Values.worker.livenessProbe }} + {{- if .Values.worker.livenessProbe.enabled }} livenessProbe: - {{- toYaml .Values.worker.livenessProbe | nindent 12 }} - {{- end }} + exec: + {{- toYaml .Values.worker.livenessProbe.exec | nindent 14 }} + initialDelaySeconds: {{ .Values.worker.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.worker.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.worker.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.worker.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.worker.livenessProbe.failureThreshold }} + {{- end }} resources: {{- toYaml .Values.worker.resources | nindent 12 }} command: diff --git a/charts/openinwoner/values.yaml b/charts/openinwoner/values.yaml index f6122ef..b682d32 100644 --- a/charts/openinwoner/values.yaml +++ b/charts/openinwoner/values.yaml @@ -289,15 +289,17 @@ worker: # Defaults to 60s maxWorkerLivenessDelta: "" livenessProbe: + enabled: false exec: command: - - python - - /app/bin/check_celery_worker_liveness.py + - /bin/sh + - -c + - celery --workdir src --app open_inwoner.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 # Periodeseconds should not exceed maxWorkerLivenessDelta periodSeconds: 50 - timeoutSeconds: 5 - failureThreshold: 10 + timeoutSeconds: 10 + failureThreshold: 3 successThreshold: 1 autoscaling: enabled: false From 111cf505e327ba7aa0b17d1d4e14aeac7d29259b Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 12:50:30 +0100 Subject: [PATCH 6/9] :sparkles: [#148] Add livenessProbe Open Klant Timeouts added in https://github.com/maykinmedia/open-klant/pull/316 --- charts/openklant/Chart.yaml | 2 +- charts/openklant/README.md | 10 +++++++--- charts/openklant/templates/deployment.yaml | 10 ++++++++++ charts/openklant/values.yaml | 10 ++++++++-- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/charts/openklant/Chart.yaml b/charts/openklant/Chart.yaml index acfaa35..cb2c73e 100644 --- a/charts/openklant/Chart.yaml +++ b/charts/openklant/Chart.yaml @@ -3,7 +3,7 @@ name: openklant description: Project dat de Klanten API | https://klanten-api.vng.cloud en Contactmomenten API | https://contactmomenten-api.vng.cloud/ in een enkel component combineert. type: application -version: 1.4.0-beta.5 +version: 1.5.0-beta.0 appVersion: latest dependencies: diff --git a/charts/openklant/README.md b/charts/openklant/README.md index a957ca0..559aab1 100644 --- a/charts/openklant/README.md +++ b/charts/openklant/README.md @@ -1,6 +1,6 @@ # openklant -![Version: 1.4.0-beta.1](https://img.shields.io/badge/Version-1.4.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.5.0-beta.0](https://img.shields.io/badge/Version-1.5.0--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Project dat de Klanten API | https://klanten-api.vng.cloud en Contactmomenten API | https://contactmomenten-api.vng.cloud/ in een enkel component combineert. @@ -128,11 +128,15 @@ Project dat de Klanten API | https://klanten-api.vng.cloud en Contactmomenten AP | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | +| worker.livenessProbe.enabled | bool | `false` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app openklant.celery inspect --destination celery@${HOSTNAME} active"` | | | worker.livenessProbe.failureThreshold | int | `3` | | | worker.livenessProbe.initialDelaySeconds | int | `60` | | -| worker.livenessProbe.periodSeconds | int | `10` | | +| worker.livenessProbe.periodSeconds | int | `30` | | | worker.livenessProbe.successThreshold | int | `1` | | -| worker.livenessProbe.timeoutSeconds | int | `5` | | +| worker.livenessProbe.timeoutSeconds | int | `10` | | | worker.podLabels | object | `{}` | | | worker.readinessProbe.failureThreshold | int | `3` | | | worker.readinessProbe.initialDelaySeconds | int | `30` | | diff --git a/charts/openklant/templates/deployment.yaml b/charts/openklant/templates/deployment.yaml index 0b9f653..60c97ec 100644 --- a/charts/openklant/templates/deployment.yaml +++ b/charts/openklant/templates/deployment.yaml @@ -181,6 +181,16 @@ spec: {{- if .Values.extraEnvVars }} {{- include "openklant.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} + {{- if .Values.worker.livenessProbe.enabled }} + livenessProbe: + exec: + {{- toYaml .Values.worker.livenessProbe.exec | nindent 14 }} + initialDelaySeconds: {{ .Values.worker.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.worker.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.worker.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.worker.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.worker.livenessProbe.failureThreshold }} + {{- end }} resources: {{- toYaml .Values.worker.resources | nindent 12 }} command: diff --git a/charts/openklant/values.yaml b/charts/openklant/values.yaml index e1e0c5a..e5a3aee 100644 --- a/charts/openklant/values.yaml +++ b/charts/openklant/values.yaml @@ -253,9 +253,15 @@ worker: podLabels: { } resources: { } livenessProbe: + enabled: false + exec: + command: + - /bin/sh + - -c + - celery --workdir src --app openklant.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 - periodSeconds: 10 - timeoutSeconds: 5 + periodSeconds: 30 + timeoutSeconds: 10 failureThreshold: 3 successThreshold: 1 readinessProbe: From 05fd4d4575b177988a29c9530e92868b8390a48f Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 13:02:50 +0100 Subject: [PATCH 7/9] :sparkles: [#148] Update livenessProbe Open Notificaties Timeouts added in https://github.com/open-zaak/open-notificaties/pull/221 --- charts/opennotificaties/Chart.yaml | 2 +- charts/opennotificaties/README.md | 8 +++++--- charts/opennotificaties/templates/deployment.yaml | 12 +++++++++--- charts/opennotificaties/values.yaml | 6 ++++-- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/charts/opennotificaties/Chart.yaml b/charts/opennotificaties/Chart.yaml index 9bcb5ff..b5748b1 100644 --- a/charts/opennotificaties/Chart.yaml +++ b/charts/opennotificaties/Chart.yaml @@ -3,7 +3,7 @@ name: opennotificaties description: API voor het routeren van notificaties type: application -version: 1.6.0-beta.3 +version: 1.7.0-beta.0 appVersion: latest dependencies: diff --git a/charts/opennotificaties/README.md b/charts/opennotificaties/README.md index e86484f..8e86f98 100644 --- a/charts/opennotificaties/README.md +++ b/charts/opennotificaties/README.md @@ -1,6 +1,6 @@ # opennotificaties -![Version: 1.6.0-beta.1](https://img.shields.io/badge/Version-1.6.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.7.0-beta.0](https://img.shields.io/badge/Version-1.7.0--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) API voor het routeren van notificaties @@ -209,8 +209,10 @@ API voor het routeren van notificaties | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | -| worker.livenessProbe.exec.command[0] | string | `"python"` | | -| worker.livenessProbe.exec.command[1] | string | `"/app/bin/check_celery_worker_liveness.py"` | | +| worker.livenessProbe.enabled | bool | `false` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app nrc.celery inspect --destination celery@${HOSTNAME} active"` | | | worker.livenessProbe.failureThreshold | int | `10` | | | worker.livenessProbe.initialDelaySeconds | int | `60` | | | worker.livenessProbe.periodSeconds | int | `50` | | diff --git a/charts/opennotificaties/templates/deployment.yaml b/charts/opennotificaties/templates/deployment.yaml index 2c2773a..b8781fd 100644 --- a/charts/opennotificaties/templates/deployment.yaml +++ b/charts/opennotificaties/templates/deployment.yaml @@ -178,10 +178,16 @@ spec: {{- if .Values.extraEnvVars }} {{- include "opennotificaties.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} - {{- if .Values.worker.livenessProbe }} + {{- if .Values.worker.livenessProbe.enabled }} livenessProbe: - {{- toYaml .Values.worker.livenessProbe | nindent 12 }} - {{- end }} + exec: + {{- toYaml .Values.worker.livenessProbe.exec | nindent 14 }} + initialDelaySeconds: {{ .Values.worker.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.worker.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.worker.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.worker.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.worker.livenessProbe.failureThreshold }} + {{- end }} resources: {{- toYaml .Values.worker.resources | nindent 12 }} command: diff --git a/charts/opennotificaties/values.yaml b/charts/opennotificaties/values.yaml index bbf4380..8a57ca7 100644 --- a/charts/opennotificaties/values.yaml +++ b/charts/opennotificaties/values.yaml @@ -335,10 +335,12 @@ worker: resources: {} maxWorkerLivenessDelta: "" livenessProbe: + enabled: false exec: command: - - python - - /app/bin/check_celery_worker_liveness.py + - /bin/sh + - -c + - celery --workdir src --app nrc.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 # Periodeseconds should not exceed maxWorkerLivenessDelta periodSeconds: 50 From 266d280a15b9eb7955bd51653a2a18e56be75b41 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 13:55:11 +0100 Subject: [PATCH 8/9] :sparkles: [#148] Update livenessProbe Open Zaak Open Zaak has one long running tasks of which we don't know how long it will take, so no ping probe was added. The task: https://github.com/open-zaak/open-zaak/blob/70449f11a31a0e8a06d9e47d49e095b31d1068f6/src/openzaak/components/documenten/tasks.py#L333 --- charts/openzaak/Chart.yaml | 2 +- charts/openzaak/README.md | 12 +++++++----- charts/openzaak/templates/deployment.yaml | 12 +++++++++--- charts/openzaak/values.yaml | 10 ++++++---- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/charts/openzaak/Chart.yaml b/charts/openzaak/Chart.yaml index 64b76c2..e54f5e6 100644 --- a/charts/openzaak/Chart.yaml +++ b/charts/openzaak/Chart.yaml @@ -3,7 +3,7 @@ name: openzaak description: Productiewaardige API's voor Zaakgericht Werken type: application -version: 1.6.0-beta.3 +version: 1.7.0-beta.0 appVersion: latest dependencies: diff --git a/charts/openzaak/README.md b/charts/openzaak/README.md index d5d9f61..bc1e25f 100644 --- a/charts/openzaak/README.md +++ b/charts/openzaak/README.md @@ -1,6 +1,6 @@ # openzaak -![Version: 1.6.0-beta.1](https://img.shields.io/badge/Version-1.6.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.7.0-beta.0](https://img.shields.io/badge/Version-1.7.0--beta.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Productiewaardige API's voor Zaakgericht Werken @@ -226,13 +226,15 @@ Productiewaardige API's voor Zaakgericht Werken | worker.autoscaling.targetCPUUtilizationPercentage | int | `80` | | | worker.autoscaling.targetMemoryUtilizationPercentage | int | `80` | | | worker.concurrency | int | `4` | | -| worker.livenessProbe.exec.command[0] | string | `"python"` | | -| worker.livenessProbe.exec.command[1] | string | `"/app/bin/check_celery_worker_liveness.py"` | | -| worker.livenessProbe.failureThreshold | int | `10` | | +| worker.livenessProbe.enabled | bool | `false` | | +| worker.livenessProbe.exec.command[0] | string | `"/bin/sh"` | | +| worker.livenessProbe.exec.command[1] | string | `"-c"` | | +| worker.livenessProbe.exec.command[2] | string | `"celery --workdir src --app openzaak.celery inspect --destination celery@${HOSTNAME} active"` | | +| worker.livenessProbe.failureThreshold | int | `3` | | | worker.livenessProbe.initialDelaySeconds | int | `60` | | | worker.livenessProbe.periodSeconds | int | `50` | | | worker.livenessProbe.successThreshold | int | `1` | | -| worker.livenessProbe.timeoutSeconds | int | `15` | | +| worker.livenessProbe.timeoutSeconds | int | `10` | | | worker.maxWorkerLivenessDelta | string | `""` | | | worker.podLabels | object | `{}` | | | worker.replicaCount | int | `1` | | diff --git a/charts/openzaak/templates/deployment.yaml b/charts/openzaak/templates/deployment.yaml index 499d21a..5df9e3d 100644 --- a/charts/openzaak/templates/deployment.yaml +++ b/charts/openzaak/templates/deployment.yaml @@ -273,10 +273,16 @@ spec: {{- if .Values.extraEnvVars }} {{- include "openzaak.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} {{- end }} - {{- if .Values.worker.livenessProbe }} + {{- if .Values.worker.livenessProbe.enabled }} livenessProbe: - {{- toYaml .Values.worker.livenessProbe | nindent 12 }} - {{- end }} + exec: + {{- toYaml .Values.worker.livenessProbe.exec | nindent 14 }} + initialDelaySeconds: {{ .Values.worker.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.worker.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.worker.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.worker.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.worker.livenessProbe.failureThreshold }} + {{- end }} resources: {{- toYaml .Values.worker.resources | nindent 12 }} command: diff --git a/charts/openzaak/values.yaml b/charts/openzaak/values.yaml index b742f25..8d335ab 100644 --- a/charts/openzaak/values.yaml +++ b/charts/openzaak/values.yaml @@ -323,15 +323,17 @@ worker: resources: {} maxWorkerLivenessDelta: "" livenessProbe: + enabled: false exec: command: - - python - - /app/bin/check_celery_worker_liveness.py + - /bin/sh + - -c + - celery --workdir src --app openzaak.celery inspect --destination celery@${HOSTNAME} active initialDelaySeconds: 60 # Periodeseconds should not exceed maxWorkerLivenessDelta periodSeconds: 50 - timeoutSeconds: 15 - failureThreshold: 10 + timeoutSeconds: 10 + failureThreshold: 3 successThreshold: 1 autoscaling: enabled: false From e7e49ed30c335f9bd8765c5d011b01cf5147af71 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 10 Jan 2025 15:41:31 +0100 Subject: [PATCH 9/9] :memo: [#148] Add changelogs --- charts/objecten/.helmignore | 1 + charts/objecten/CHANGELOG.md | 12 ++++++++++++ charts/openarchiefbeheer/.helmignore | 1 + charts/openarchiefbeheer/CHANGELOG.md | 6 ++++++ charts/openforms/.helmignore | 1 + charts/openforms/CHANGELOG.md | 12 ++++++++++++ charts/openinwoner/.helmignore | 1 + charts/openinwoner/CHANGELOG.md | 12 ++++++++++++ charts/openklant/.helmignore | 1 + charts/openklant/CHANGELOG.md | 12 ++++++++++++ charts/opennotificaties/.helmignore | 1 + charts/opennotificaties/CHANGELOG.md | 12 ++++++++++++ charts/openzaak/.helmignore | 1 + charts/openzaak/CHANGELOG.md | 12 ++++++++++++ 14 files changed, 85 insertions(+) create mode 100644 charts/objecten/.helmignore create mode 100644 charts/objecten/CHANGELOG.md create mode 100644 charts/openarchiefbeheer/.helmignore create mode 100644 charts/openarchiefbeheer/CHANGELOG.md create mode 100644 charts/openforms/.helmignore create mode 100644 charts/openforms/CHANGELOG.md create mode 100644 charts/openinwoner/.helmignore create mode 100644 charts/openinwoner/CHANGELOG.md create mode 100644 charts/openklant/.helmignore create mode 100644 charts/openklant/CHANGELOG.md create mode 100644 charts/opennotificaties/.helmignore create mode 100644 charts/opennotificaties/CHANGELOG.md create mode 100644 charts/openzaak/.helmignore create mode 100644 charts/openzaak/CHANGELOG.md diff --git a/charts/objecten/.helmignore b/charts/objecten/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/objecten/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/objecten/CHANGELOG.md b/charts/objecten/CHANGELOG.md new file mode 100644 index 0000000..ef06ee2 --- /dev/null +++ b/charts/objecten/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## 2.7.0-beta.0 (2025-10-01) + +- [#148] Replace the worker liveness probe with the `celery inspect active` command. This should detect when a worker is down and should not interrupt long running tasks. +- [#119] Update the syntax of the worker liveness probe. The worker probes now can be enabled/disabled with: + +```yaml +worker: + livenessProbe: + enabled: true # true | false +``` \ No newline at end of file diff --git a/charts/openarchiefbeheer/.helmignore b/charts/openarchiefbeheer/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/openarchiefbeheer/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/openarchiefbeheer/CHANGELOG.md b/charts/openarchiefbeheer/CHANGELOG.md new file mode 100644 index 0000000..4f18fc3 --- /dev/null +++ b/charts/openarchiefbeheer/CHANGELOG.md @@ -0,0 +1,6 @@ +# Changelog + +## 1.1.1-beta.0 (2025-10-01) + +- [#148] Add worker liveness probe command `celery inspect active`. This should detect when a worker is down and should not interrupt long running tasks. +- Fix missing init container to run Django setup configuration. \ No newline at end of file diff --git a/charts/openforms/.helmignore b/charts/openforms/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/openforms/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/openforms/CHANGELOG.md b/charts/openforms/CHANGELOG.md new file mode 100644 index 0000000..d2899d8 --- /dev/null +++ b/charts/openforms/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## 1.8.0-beta.0 (2025-10-01) + +- [#148] Replace the worker liveness probe with the `celery inspect active` command. This should detect when a worker is down and should not interrupt long running tasks. +- [#119] Update the syntax of the worker liveness probe. The worker probes now can be enabled/disabled with: + +```yaml +worker: + livenessProbe: + enabled: true # true | false +``` \ No newline at end of file diff --git a/charts/openinwoner/.helmignore b/charts/openinwoner/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/openinwoner/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/openinwoner/CHANGELOG.md b/charts/openinwoner/CHANGELOG.md new file mode 100644 index 0000000..e65d989 --- /dev/null +++ b/charts/openinwoner/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## 1.7.0-beta.0 (2025-10-01) + +- [#148] Replace the worker liveness probe with the `celery inspect active` command. This should detect when a worker is down and should not interrupt long running tasks. +- [#119] Update the syntax of the worker liveness probe. The worker probes now can be enabled/disabled with: + +```yaml +worker: + livenessProbe: + enabled: true # true | false +``` \ No newline at end of file diff --git a/charts/openklant/.helmignore b/charts/openklant/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/openklant/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/openklant/CHANGELOG.md b/charts/openklant/CHANGELOG.md new file mode 100644 index 0000000..f2d867a --- /dev/null +++ b/charts/openklant/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## 1.5.0-beta.0 (2025-10-01) + +- [#148] Replace the worker liveness probe with the `celery inspect active` command. This should detect when a worker is down and should not interrupt long running tasks. +- [#119] Update the syntax of the worker liveness probe. The worker probes now can be enabled/disabled with: + +```yaml +worker: + livenessProbe: + enabled: true # true | false +``` \ No newline at end of file diff --git a/charts/opennotificaties/.helmignore b/charts/opennotificaties/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/opennotificaties/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/opennotificaties/CHANGELOG.md b/charts/opennotificaties/CHANGELOG.md new file mode 100644 index 0000000..e65d989 --- /dev/null +++ b/charts/opennotificaties/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## 1.7.0-beta.0 (2025-10-01) + +- [#148] Replace the worker liveness probe with the `celery inspect active` command. This should detect when a worker is down and should not interrupt long running tasks. +- [#119] Update the syntax of the worker liveness probe. The worker probes now can be enabled/disabled with: + +```yaml +worker: + livenessProbe: + enabled: true # true | false +``` \ No newline at end of file diff --git a/charts/openzaak/.helmignore b/charts/openzaak/.helmignore new file mode 100644 index 0000000..1b763b1 --- /dev/null +++ b/charts/openzaak/.helmignore @@ -0,0 +1 @@ +CHANGELOG.md diff --git a/charts/openzaak/CHANGELOG.md b/charts/openzaak/CHANGELOG.md new file mode 100644 index 0000000..e65d989 --- /dev/null +++ b/charts/openzaak/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## 1.7.0-beta.0 (2025-10-01) + +- [#148] Replace the worker liveness probe with the `celery inspect active` command. This should detect when a worker is down and should not interrupt long running tasks. +- [#119] Update the syntax of the worker liveness probe. The worker probes now can be enabled/disabled with: + +```yaml +worker: + livenessProbe: + enabled: true # true | false +``` \ No newline at end of file