diff --git a/charts/kamu-api-server/Chart.yaml b/charts/kamu-api-server/Chart.yaml index 226141d..0d6ceb6 100644 --- a/charts/kamu-api-server/Chart.yaml +++ b/charts/kamu-api-server/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: kamu-api-server description: API server component of the Kamu Compute Node type: application -version: 0.36.0 +version: 0.36.1 appVersion: "0.36.0" home: https://kamu.dev icon: https://www.kamu.dev/images/kamu_logo_icon_bg_square.png diff --git a/charts/kamu-api-server/templates/deployment.yaml b/charts/kamu-api-server/templates/deployment.yaml index 4544f33..3435b32 100644 --- a/charts/kamu-api-server/templates/deployment.yaml +++ b/charts/kamu-api-server/templates/deployment.yaml @@ -8,6 +8,14 @@ spec: {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} {{- end }} + # TODO: This is an unfortunate temporary measure to prevent race conditions between + # the old process that is executing flows/tasks and processing domain events + # and a new replacement process that will try to pick up unprocessed work upon startup. + # Soon this will be replaced by proper DB locking / leader election, but meanwhile `Recreate` + # strategy ensures that the old pod is killed before deploying a new one. This significantly + # increases the chance of causing downtime if a replacement pod fails to start correctly. + strategy: + type: Recreate selector: matchLabels: {{- include "kamu-api-server.selectorLabels" . | nindent 6 }}